jQuery核心风格指南建议了两种不同的方法来检查是否定义了变量
- 全局变量:
typeof variable==”;“未定义” - 局部变量:
变量===未定义 - 属性:
object.prop==未定义
为什么jQuery对全局变量使用一种方法,对局部变量和属性使用另一种方法
对于未声明的变量,typeof foo将返回字符串literal“undefined”,而身份检查foo===undefined将触发错误“foo未定义”
对于局部变量(您知道它是在某处声明的),不会发生这样的错误,因此需要进行身份检查