eq: function( i ) {
var len = this.length,
j = +i + ( i < 0 ? len : 0 );
return this.pushStack( j >= 0 && j < len ? [ this[j] ] : [] );
},
我是一般的编程新手,但是在表达式前面单个+符号的目的是什么,我已经在jquery库中看到了很多。
+(expression)
这些我理解,因为它们是消极的:
-(1);// -1
答案 0 :(得分:3)
它将字符串编号转换为表达式中的实际编号。
console.log(typeof +"1"); // number
console.log("1" + "1"); // 11
console.log(+"1" + +"1"); // 2
console.log("1.3" + "1.546"); // 1.31.546
console.log(+"1.3" + +"1.546"); // 2.846
引自ECMA 5.1 Standard Specifications for + operator,
一元+运算符将其操作数转换为数字类型。
在内部,JavaScript字符串将转换为基于ECMA 5.1标准中指定的these rules的数字。
修改:根据Number
规范,它还在内部使用相同的ToNumber
将其参数转换为数字。因此,技术上Number(<number string>)
与+<number string>
相同。
答案 1 :(得分:2)
用于将值转换为浮点数。
+"123.25" + 2 = 125.25
类似的是
(x | 0)
而是用于转换为整数(操作是按位或为零)。
在asm.js中,这些表单也可以用作参数和本地的类型声明。