变量===未定义vs.变量类型===“未定义”

jQuery核心风格指南建议了两种不同的方法来检查是否定义了变量

  • 全局变量:typeof variable==”;“未定义”
  • 局部变量:变量===未定义
  • 属性:object.prop==未定义

为什么jQuery对全局变量使用一种方法,对局部变量和属性使用另一种方法

对于未声明的变量,typeof foo将返回字符串literal“undefined”,而身份检查foo===undefined将触发错误“foo未定义”

对于局部变量(您知道它是在某处声明的),不会发生这样的错误,因此需要进行身份检查

发表评论