var num = 1;
var str = '1';var test = 1;test == num //true 相同类型 相同值test === num //true 相同类型 相同值test !== num //false test与num类型相同,其值也相同, 非运算肯定是falsenum == str //true 把str转换为数字,检查其是否相等。num != str //false == 的 非运算num === str //false 类型不同,直接返回falsenum !== str //true num 与 str类型不同 意味着其两者不等 非运算自然是true啦== 和 != 比较若类型不同,先偿试转换类型,再作值比较,最后返回值比较结果 。而
=== 和 !== 只有在相同类型下,才会比较其值。!==表示要全部不想等包括类型(一样写一个if) ||或者的意思 !!一般用来将后面的表达式转换为布尔型的数据(boolean) 因为javascript是弱类型的语言(变量没有固定的数据类型)所以有时需要强制转换为相应的类型,类似的如: a=parseInt("1234") a="1
234"+0 //转换为数字 b=1234+"" //转换为字符串 c=someObject.toString() //将对象转换为字符串 其中第1种、第4种为显式转换,2、3为隐式转换 布尔型的转换,javascript约定和c类似,规则为 ·false、undefinded、null、0、"" 为 false ·true、1、"somestring"、[Object] 为 true