function e(e, a) {
for (var r = 1; void 0 !== r; ) {
var s = -1 & r
, c = r >> -(1 / 0)
, b = -1 & c;
switch (s) {
case 0:
!function() {
b
}();
break;
case 1:
var k = e.indexOf(a)
, t = -1
, o = k === t;
r = o ? 2 : 3;
break;
case 2:
return e;
case 3:
var i = e.substr(0, k);
return i
}
}
}
其中有个 void 0 !== r 是什么意思
undefined是js数据解构中的一种,由于undefined是可以被赋值的,例如undefined = 2; 那么 打印undefined 得到的就是2 如果以后需要undefined做为判断条件, undefined就没法表示了 , 这是就可以引入void(0) 里面的内容不重要 0或1 ,2,3都是undefined,你的问题就是 r是不是undfined,望采纳
void 是JavaScript里的一个函数,接收一个参数,返回值永远是undefined,这样写和r !== undefined是一个效果,只不过这个编译后比undefined少几个字节而已
undifined是一个特殊的变量,是可以被赋值的。void 0 永远返回真undifined