这些还是以前笔记上无意中翻看时候看到的,拿出来大家学习一下,不过应该很久了的笔记了,知识嘛不在新旧。
?
?
?
1.true == 1 ? ? ? ?
?
?
2.false == 0
?
?
3.new String("abc") == "abc"
?
?
?
4.new String("abc") ?=== "abc"
?
?
?
简单地讲述一下吧:
?
1.
console.log(true == 1); //true
console.log(true == 2); //false console.log(false == 0); //true console.log(false == 1); //false //这个如果你以前看过w3c的文档的话,应该见过这个 //贴上http://www.w3school.com.cn/js/pro_js_operators_equality.asp //== 会进行类型转换,所以如果一个运算数是Boolean值的话,会把它转换,false转换成0,true转换成1
?
//补充以下常见或者常被人说道的几个 console.log(null == undefined); //true console.log(5 == NaN); //false console.log(NaN == NaN); //false //注意null和undefined不能被转换成其他值 //补充我以前写的关于这两个的文章 //http://zhangyaochun.iteye.com/blog/1184375?
?
2.
//中心思想就是它不进行类型转换
console.log(new String("abc") == "abc"); //true console.log(new String("abc") === "abc"); //false //主要还想说明一下new String() //这里面可能就是我们创建String对象的时候的语法了 //String(s); 或者 new String(s); //它返回的是一个新创建的String 对象 console.log(typeof(new String("abc"))); //object console.log(typeof "abc"); //string?