一尘不染

变量===未定义vs. typeof变量===“未定义”

javascript

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

  • 全局变量: typeof variable === "undefined"
  • 局部变量: variable === undefined
  • 特性: object.prop === undefined

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


阅读 404

收藏
2020-04-25

共1个答案

一尘不染

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

对于局部变量(您 知道 已在某处声明),不会发生此类错误,因此进行身份检查。

2020-04-25