jQuery Core Style Guidelines人建议使用两种不同方式来判断是否定义了变量.
- 全球变量:
typeof variable === "undefined"
- 局部变量:
variable === undefined
- 属性:
object.prop === undefined
为什么jQuery对全局变量使用一种方法,对局部变量和属性使用另一种方法?
jQuery Core Style Guidelines人建议使用两种不同方式来判断是否定义了变量.
typeof variable === "undefined"
variable === undefined
object.prop === undefined
为什么jQuery对全局变量使用一种方法,对局部变量和属性使用另一种方法?
对于未声明的变量,typeof foo
将返回字符串文字"undefined"
,而身份判断foo === undefined
将触发错误"foo is not defined".
对于局部变量(在某个地方声明了know),不会出现这样的错误,因此需要进行身份判断.