Javascript变量和值之间的比较
2015-09-02 18:22
477 查看
不同类型的变量和数值比较的差异:
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()函数进行强制类型转换,保证结果符合预期。
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()函数进行强制类型转换,保证结果符合预期。
相关文章推荐
- BZOJ 1031 [JSOI2007]字符加密Cipher 后缀数组
- js获取url中的参数
- JavaScript NaN 属性
- JSON解析
- OC --解析Json串,更改昵称
- 使用jsoup获取某种标签里面的数据
- javascript再再探(运算符)
- JS单例对象与构造函数对象的区别
- Javascript dom结点操作总结
- JSON对象和字符串之间的相互转换
- C# ASP.NET 后台界面加载时调用前台JavaScript脚本:Attributes.Add()
- js中组件的开发实例
- jS和Oc互调
- 为什么eval某个json字符串时要加括号?
- JSP隐含对象与EL表达式中的隐含对象
- js获取列表控件某行下拉框的选定值
- js触摸屏案例
- 使用 Jasmine 进行测试驱动的 JavaScript 开发
- JS中的offset*的图文解释
- ajax请求json数据案例