首页 > 网站 > WEB开发 > 正文

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

2024-04-27 14:23:44
字体:
来源:转载
供稿:网友

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

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


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表