javascript - 理解 jQuery 的 .eq()

标签 javascript jquery

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/

相关文章:

javascript - react.js 中的键绑定(bind)

javascript - 从表单中获取输入,从数据库中检索数据并显示输出

javascript - 使用 jquery 制作 3d 效果

javascript - 如果 Not undefined 和 indexOf ('foo' ) 做某事

jquery - 如何重新加载 JQuery 网格保持滚动位置和折叠元素打开

javascript - 避免浏览器插件弄乱代码?

javascript - jQuery $.post 返回对象长度 : 0

javascript - 在 JavaScript 中解析 MySQL 日期

php - Ajax 和 PHP 存在 while 循环问题

javascript - Firefox 的内部文本解决方案