首页 > 编程语言 > 详细

JavaScript十大古怪之处(出自众妙之门)

时间:2014-05-26 14:40:47      阅读:317      评论:0      收藏:0      [点我收藏+]

1.  null是一个对象:

alert(typeof null);  //objects

NULL表示没有值,那么很明显他不能作为任何东西的实例,所以下式应该等于false:

alert(null instanceof Object);   //false

 

2.  NAN是一个数字:

alert(typeof NAN);   //Number

alert(NaN === NaN);   //false

 

3.  空数组 == false:

alert(new Array() == false);   //true

空数组非常奇特:它们实际上等于true,但是在和布尔值比较的时候,却被看做false,如下:

var someVar = [];

alert(someVar == false);     //true

if(someVar) alert(‘hello!’);   //会打印出‘hello’

PS:false,zero,null,undefined,空字符串,NaN都被转换为false----非永久的,只是针对与给定的表达式!

 

4.  0.1 + 0.2 != 0.3

该式子的结果是:0.30000000000000004.

这是因为机器精度的问题。

 

5.  未定义可以被定义

var someVar;

alert(someVar==undefined);   //true

但是:

undefined = ‘hello’;

var someVar;

alert(someVar==undefined);   //false

 

JavaScript十大古怪之处(出自众妙之门),布布扣,bubuko.com

JavaScript十大古怪之处(出自众妙之门)

原文:http://www.cnblogs.com/ttcc/p/3746437.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!