首页 > 代码库 > javascript运算符应用

javascript运算符应用

下面的代码会输出什么?为什么?

console.log(1 + "2" + "2");
console.log(1 + +"2" + "2");
console.log(1 + -"1" + "2");
console.log(+"1" + "1" + "2");
console.log( "A" - "B" + "2");
console.log( "A" - "B" + 2);

结果分别是

122,32,02,112,NaN2,NaN

这里要注意的是第二题和第三题

第二题的+“2”的结果是把字符串2转换成了数字2,结果就成了字符串32

第三题的-“2”的结果是把字符串2转换成了数字2,结果成了字符串02

+,-运算符在这里起到了转换的作用,将字符串转换成了可计算的表达式,由于该作用,在写自执行函数时也是有用的

(function(){})()  //返回undefined
+function(){}()   //返回NaN
-function(){}()   //返回NaN
!function(){}()   //返回true
~function(){}()   //返回-1

这些写法都能起到自执行的作用,但返回值是不同的

 

javascript运算符应用