不同类型的变量和数值比较的差异:
console.log((false == ""));//true
console.log((false == undefined));//false
console.log((new Object() == undefined));//false
console.log((1 == "1"));//true
console.log((true == "true"));//false
console.log((String(true)== "true"));//true--强制类型转换,保证结果的正确性
注意高亮的比较结果:
1、boolean型的false值和空字符串“”是相等的;
2、字符串的"1"和数值1是相等的;(自动类型转换)
3、但boolean的true和字符串的"true"是不同的;
由于类型转换的规则比较复杂,为了简单起见,当有变量或数值需要和一个给定字符串进行比较时,最好先将该变量或数值使用String()函数进行强制类型转换,保证结果符合预期。