jQuery Core Style Guidelines人建议使用两种不同方式来判断是否定义了变量.

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

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

推荐答案

对于未声明的变量,typeof foo将返回字符串文字"undefined",而身份判断foo === undefined将触发错误"foo is not defined".

对于局部变量(在某个地方声明了know),不会出现这样的错误,因此需要进行身份判断.

Javascript相关问答推荐

追踪执行顺序

即使设置了父级的最大高度,固定位置的分区内容也不会滚动?

可以的.是否可以在不预编译的情况下使用嵌套 Select 器?

react 路由加载程序行为

当在select中 Select 选项时,我必须禁用不匹配的 Select

Cypress -使用commands.js将数据测试id串在一起失败,但在将它们串在一起时不使用命令有效

if/else JavaScript中的条件行为

Google Apps脚本中的discord邀请API响应的日期解析问题

TypeScript索引签名模板限制

虚拟滚动实现使向下滚动可滚动到末尾

无法读取未定义错误的属性路径名''

优化Google Sheet脚本以将下拉菜单和公式添加到多行

是什么导致了这种奇怪的水平间距错误(?)当通过JavaScript将列表项元素追加到无序列表时,是否在按钮之间?

Rxjs流中生成IMMER不能在对象上操作

如果一个字符串前面有点、空格或无字符串,后面有空格、连字符或无字符串,则匹配正则表达式

将多个文本框中的输出合并到一个文本框中

P5.js中的分形树

有没有办法通过使用不同数组中的值进行排序

如何在尚未创建的鼠标悬停事件上访问和着色div?

react 路由如何使用从加载器返回的数据