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
这些写法都能起到自执行的作用,但返回值是不同的