关于JavaScript中的不同数据类型转换判断
来源:互联网 发布:java猜数字代码 编辑:程序博客网 时间:2024/06/06 02:29
在笔试过程中时常会遇到一些莫名其妙的相等判断(不同类型之间直接比较),但却不知道这些相等判断是否成立。由于JavaScript属于弱类型比较,所以会存在类型的转换,以下就是部分我对JavaScript中数据类型转换比较的笔记:
● undefined派生自null,所以console.log(null == undefined); //true;
● 字符串与boolean类型也可以比较:
console.log(“xxx” == true); //false;
console.log(“” == false);//true;
if(“xxx”){console.log(“true”)};//true;
(空字符串与boolean类型比较时会转换为false,他们之间可以直接比较,但是非空字符串虽能转换为true,但是却不能和true相等比较)。
● Number类型与boolean类型也可以比较,与字符串类型的结果类似:
console.log(3 == true); //false;
console.log(0 == false); //true;
if(3){console.log(“true”)};//true;
● 对象Object可以转换为boolean类型,但是无法与true/false比较,因此:
var obj = {name:”xxx”};console.log(obj == true);//false;
console.log(null == false);//false;
var obj = {name:”xxx”};if(obj){console.log(“true”)}; //true;
if(null){console.log(“true”)}else{console.log(“false”)}; //false;
(在Object中,任何对象都可以转换为true,null可以转换为false,但是均不能与其比较)。
● 对于Undefined,也无法与true/false比较:
console.log(undefined == false);//false;
if(undefined){console.log(“true”)}else{console.log(“false”)};//false;
● 对于数值类型(Number)中存在这样一个特殊的数组NaN(Not a Number),NaN与任何数操作均返回NaN,且NaN不与任何值相等,包括NaN本身,但是NaN可以转换为false,却不能比较:
console.log(NaN == NaN);//false;
console.log(NaN == false);//false;
if(NaN){console.log(“true”)}else{console.log(“false”)};//false;
- 关于JavaScript中的不同数据类型转换判断
- JavaScript 不同数据类型转换
- JavaScript不同数据类型的转换
- javascript中的数据类型转换
- JavaScript中的数据类型转换
- javascript中的数据类型转换
- 11.Javascript中的数据类型转换
- JavaScript 中的数据类型相互转换
- 不同数据类型转换
- 黑马程序员----C#中的不同数据类型之间的转换
- javascript数据类型转换javascript
- javascript数据类型和判断数据类型
- 关于javascript判断不同浏览器的类型和版本号
- 不同软件中的数据类型
- php流程控制语句以及条件判断中的数据类型转换
- javascript判断数据类型
- javascript判断数据类型
- 判断JavaScript的数据类型
- Windows ActiveMQ安装部署(入门)
- NOIP2016换教室
- UNDO 正则表达式
- 九九乘法表
- Value Noise(一)
- 关于JavaScript中的不同数据类型转换判断
- 如何简单了解TCP
- 走楼梯
- MAC 解决bash: mysql: command not found 的方法
- Android Intent 使用说明
- Section1.1-Your Ride Is Here
- Part 4 Package与Import 定义一个圆类(Circle),其所在的包为bzu.info.software;定义一个圆柱类Cylinder,其所在的包为bzu.info.com;
- 信使Message间的通信
- 类的重写和类的私有变量