javascript - 这个 Javascript 片段有什么作用(jQuery 迁移文件的开始)

标签 javascript jquery

我在jQuery Migrate v1.1.1中找到了这段代码

jQuery.migrateMute===void 0&&(jQuery.migrateMute=!0),function(e,t,n){/* anything */}

我真的很想知道两件事:

1) ===void 0 是什么意思?

2) 为什么这些条件后面跟一个逗号?我的测试表明它总是会被执行。

这不是我真的需要知道,但我真的很感兴趣,因为我认为我对 JS 了如指掌。 ;)

最佳答案

void 0 将产生 undefinedvoid X 将产生任何 X;它更短,并且不能像 undefined 那样被重新定义。所以 ===void 0jQuery.migrateMuteundefined 进行比较。

!0true

因此,jQuery.migrateMute===void 0&&(jQuery.migrateMute=!0) 的“翻译”是:

if (jQuery.migrateMute === undefined) {
  jQuery.migrateMute = true;
}

然后逗号后面的内容独立于此执行。

关于javascript - 这个 Javascript 片段有什么作用(jQuery 迁移文件的开始),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29740830/

相关文章:

javascript - 从 mysql 查询设置的 php 变量更改图像的 'src' 属性

javascript - 为什么removeEventListener不起作用

javascript - 尽管变量在范围内,但 Jasmine 测试用例中 undefined variable

javascript - 滚动事件关闭菜单后,导航下拉菜单切换不显示菜单

javascript - YouTube 视频持续时间 API v3

javascript - 如何增加按钮点击jquery的数值

javascript - 使用 jQuery remove() 添加项目。添加回相同的项目时,类更改将被保留

javascript - 这种情况的正确语法是什么?

javascript - 位于主页上且下方带有半透明圆圈的自动更改图片库的名称是什么?

关于文档加载问题的 jQuery 设置高度