在JavaScript中引用未定义的变量时,如何避免出现错误
How can I avoid the error when an undefined variable is referred to in JavaScript
以下在浏览器中抛出并错误"未定义模块"。既然我不能提前确定模块将被定义,为什么以及如何避免错误?
;(function() {
var version = '0.0.1';
/**
* This file needs to work in
* both NodeJS and browsers.
*/
if (module) {
module.exports = version;
} else {
define(function() {
return version;
});
}
}());
添加此检查以查看module
是否已定义
if(typeof module !== "undefined") {
// do stuff
}
在您的示例中,您会得到一个异常,因为module
在达到您的条件时尚未声明或分配。因此,当您尝试通过执行if(module)
来检查它是否为null时,变量从未被赋值,因此它会抛出异常。如果在您执行var module = null
的条件之前,您的代码就可以工作。即使您将其设置为null
,它也已被分配,因此它不是undefined
。
使用typeof
可以使标识符以前从未声明过,因此您可以避免遇到异常。
相关文章:
- PHP REST服务抛出异常——希望避免控制台错误
- 使用ASP.NET CustomValidator避免重复的错误消息
- 如何避免“;使用数组文字表示法“;以下javascript代码中的jslint错误
- 如何避免正确的指令在NetBeans中被检测为错误
- 在JavaScript中引用未定义的变量时,如何避免出现错误
- 如果JS会话变量为null,如何避免500内部服务器错误
- 如何避免$digest正在进行中的错误
- 避免使用神秘的javascript"脚本错误”;使用cdn
- 避免“无法读取”属性'获取'的未定义错误
- 如何避免在我没有的远程脚本上运行javascript错误't控制
- 如何避免在object.keys中不存在obj时发生错误
- 在 Node.js 中传播错误回调,并避免所有额外的麻烦
- JavaScript 函数,用于检查变量是否存在以避免错误
- ie8javascript停止脚本我可以使用settimeout来中断执行并避免错误
- 如果数组为空则转义以避免错误
- var db=window.openDatabase&&openDatabase();避免错误的好方法
- 我如何避免错误在if条件
- 避免错误< youobject >在Ember.js中没有定义
- 筛选空的API响应以避免错误
- 如何精确匹配字符串并避免错误匹配