Fix Uncaught ReferenceError
Fix Uncaught ReferenceError
修复 Uncaught ReferenceError
的一般解决方案是什么?
我正在创建一个函数,以确保调试代码进入生产。但是在某些情况下,变量不存在,但调试代码仍然存在。在这种情况下,它不应该停止js。
function debug(data, type){
if(type == 'alert' && mode !== 'production'){
alert(data);
}
else if(type == 'halt' && mode !== 'production'){
debugger;
}
else{
console.debug(data);
}
}
debug(xyz) //xyz doesn't exists
应该避免在生产环境中运行调试代码。
最好是有一个构建过程来删除它,但是一个简单的标志来包装你的调试调用也可以。
window.DEBUG = true;
//...
if (DEBUG) {
debug(xyz) //xyz doesn't exist... and it won't matter when DEBUG === false
}
这将比到处测试未声明的变量更干净。
毕竟,调试的一部分就是查找对未声明变量的意外访问。因此,在调试时,我们应该希望看到这些ReferenceErrors,以便我们可以修复它们。
try{
if(Debug){
debug(data,code)
}
}
catch{
// swallow or do whatever you want
}
相关文章:
- 未捕获的ReferenceError:$未定义
- ReferenceError: not defined
- ReferenceError: cordova is not defined @ng-cordova.min.js:7
- 为什么JavaScript抛出'未捕获的ReferenceError:var未定义'定义var时
- Node.js错误“;ReferenceError:全局未定义“;在从0.10.2更新到0.12.2之后
- 未捕获的ReferenceError:未定义VM1299:1(匿名函数)
- React ReferenceError:未定义文档
- ReferenceError: $firebase is not defined
- 未捕获的ReferenceError:webkitNotifications未定义
- 尝试将js函数更改为coffeescript时发生Uncaught ReferenceError
- Web用户控件中Javascript的ReferenceError
- ReferenceError: crimeID is not defined
- Rails Uncaught ReferenceError:$$未定义为升级到jquery
- 懒惰加载插件抛出Uncaught ReferenceError
- 未捕获的ReferenceError:未定义测试(函数)
- 未捕获的ReferenceError:未在单击时定义
- ReferenceError:未定义角度
- Ionic应用程序在部署后给出ReferenceError:未定义Promise
- Uncaught ReferenceError:尝试在Android网络视图中访问时未定义函数
- ReferenceError:require未在javascript中定义