js中的 if (val[1]===this.undefined) 和 if (val[1]== "yes") 中的 三个等于 和 两个等于有什么区别?

解决方案 »

  1.   

     ===是恒等于  JavaScript 是弱类型语言,这就意味着,等于操作符会为了比较两个值而进行强制类型转换
    而恒等于不像普通的等于操作符,不会进行强制类型转换,
    而对于对象,当用恒等于的时候,用于判断是否是同一个对象而不是单纯的判断值是否相等。所以,以后要注意了。判断的时候尽量还是使用恒等于,这样不用进行强制转换比较
      

  2.   

    "1"===1 //false
    "1"==1  //true