Javascript 修复未捕获的引用错误
修复未捕获引用错误的一般解决方案是什么 我正在创建一个函数,以确保调试代码进入生产环境。但在某些情况下,变量不存在,但调试代码仍然存在。在这种情况下,它不应该停止jsJavascript 修复未捕获的引用错误,javascript,Javascript,修复未捕获引用错误的一般解决方案是什么 我正在创建一个函数,以确保调试代码进入生产环境。但在某些情况下,变量不存在,但调试代码仍然存在。在这种情况下,它不应该停止js function debug(data, type){ if(type == 'alert' && mode !== 'production'){ alert(data); } else if(type == 'halt' && mode !== 'product
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
}
这将比到处测试未声明的变量更干净
毕竟,调试的一部分是寻找对未声明变量的意外访问。因此,在调试时,我们应该希望看到那些引用错误,以便能够修复它们。
debug(typeof xyz==“undefined”?undefined:xyz)代码>也许吧?你可以用macr。。。哦,等等。你为什么要在生产环境中运行调试代码?你在哪里定义xyz?@lan难道没有更好的方法吗
try{
if(Debug){
debug(data,code)
}
}
catch{
// swallow or do whatever you want
}