码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2014-05-26 14:41:15      阅读:250      评论:0      收藏:0      [点我收藏+]

标签:style   c   java   a   color   strong   

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十大古怪之处(出自众妙之门)

标签:style   c   java   a   color   strong   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!