jQuery 的 .eq()
是:
eq: function( i ) {
return i === -1 ?
this.slice( i ) :
this.slice( i, +i + 1 );
},
+i + 1
中的第一个+
有什么意义?
最佳答案
它将值转换为整数并确保您执行的是整数加法而不是字符串连接。
例如比较这两个:
var i = '1';
var result = i + 1; // result = '11';
var result2 = +i + 1; // result = 2;
而要回答为什么不将this作为slice方法的第一个参数的问题,是因为slice方法在内部进行了转换。因此,例如以下内容将按预期工作:
var array = [1, 2, 3];
var result = array.slice('1', '2'); // result = [2];
关于javascript - 理解 jQuery 的 .eq(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7939087/