我在jQuery Migrate v1.1.1中找到了这段代码
jQuery.migrateMute===void 0&&(jQuery.migrateMute=!0),function(e,t,n){/* anything */}
我真的很想知道两件事:
1) ===void 0
是什么意思?
2) 为什么这些条件后面跟一个逗号?我的测试表明它总是会被执行。
这不是我真的需要知道,但我真的很感兴趣,因为我认为我对 JS 了如指掌。 ;)
最佳答案
void 0
将产生 undefined
,void X
将产生任何 X
;它更短,并且不能像 undefined
那样被重新定义。所以 ===void 0
将 jQuery.migrateMute
与 undefined
进行比较。
!0
为 true
。
因此,jQuery.migrateMute===void 0&&(jQuery.migrateMute=!0)
的“翻译”是:
if (jQuery.migrateMute === undefined) {
jQuery.migrateMute = true;
}
然后逗号后面的内容独立于此执行。
关于javascript - 这个 Javascript 片段有什么作用(jQuery 迁移文件的开始),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29740830/