美文网首页
JS 运算符

JS 运算符

作者: antimony | 来源:发表于2019-03-13 22:18 被阅读0次

    NaN是什么? 有什么特别之处?

    NaN 表示不是一个数字(Not-A-Number)。
    NaN===NaN是false。


    以下代码的输出结果是?

    var a = 1;  
    a+++a;  
    typeof a+2; 
    

    输出:3
    "number2"


    以下代码的输出结果是?为什么?

    console.log(1+1);    
    console.log("2"+"4");  
    console.log(2+"4"); 
    console.log(+"4");  
    

    输出:
    console.log(1+1);数字加法 2
    console.log("2"+"4");字符串拼接24
    console.log(2+"4");字符串拼接24
    console.log(+"4");类型转换为4


    ==与===有什么区别?

    我们知道可以使用==或===判断两个值的相等性,其中区别相信大家清楚,===是严格意义的相等,只需注意NaN和NaN不等就行了。而使用==的时候,javascript会帮我们做类型转换,造成一些匪夷所思的结果,那么使用==的时候会在哪些情况下做类型转换,又会换成什么样子?

    • 如果两个值类型相同,则执行严格相等的运算
    • 如果两个值的类型不同
      1.如果一个是null,一个是undefined,那么相等
      2.如果一个是数字,一个是字符串,先将字符串转为数字,然后比较
      3.如果一个值是true/false则将其转为1/0比较
      4.如果一个值是对象,一个是数字或字符串,则尝试使用valueOf和toString转换后比较
      5.其它就不相等了

    相关文章

      网友评论

          本文标题:JS 运算符

          本文链接:https://www.haomeiwen.com/subject/ohmxmqtx.html