我在jQuery源代码中找到了以下片段,在eq
函数的定义中:
j = +i + ( i < 0 ? len : 0 )
我对+i
感到惊讶。相反,我原以为:
j = i + ( i < 0 ? len : 0 )
有什么区别?领先+
的效用是什么?
答案 0 :(得分:43)
+i
强迫号码。例如,请尝试"1" + 1
与+"1" + 1
(前者为"11"
,而后者为2
)
答案 1 :(得分:32)
变量前面的加号会将其转换为数字。
例如:
var x = "12";
console.log(x + 3); //logs 123;
console.log(+x + 3) //logs 15;
答案 2 :(得分:5)
我认为这是一元运算符:What does the plus sign do in '+new Date'
基本上强迫它转换为数字。