手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >JavaScript编程中容易出BUG的几点小知识
JavaScript编程中容易出BUG的几点小知识
摘要:JavaScript是如今最受欢迎的编程语言之一,但受欢迎同时就是该语言自身的各种特性带来的副作用,无论该语言多美妙,每天还是有成千上万的程...

JavaScript是如今最受欢迎的编程语言之一,但受欢迎同时就是该语言自身的各种特性带来的副作用,无论该语言多美妙,每天还是有成千上万的程序员弄出一堆bug。先不要嘲笑别人,或许你也是其中之一。

给你一个例子,下面是几个简短的完全有效的JS片段(你可以在你的控制台上试验一下):

复制代码 代码如下:

typeof NaN === 'number' // true

Infinity === 1/0 // true

0.1 + 0.2 === 0.3 // false,前面加括号也一样

"3" + 1 // '31'

"3" - 1 // 2

你还相信自己的JavaScript吗?

1、JS最小的值

复制代码 代码如下:

Number.MIN_VALUE > 0; //true

Number.MIN_VALUE用于JavaScript可以表达的最小值,为5e-324,然而是JS中最接近0的一个数

2、字符串连接

复制代码 代码如下:

("foo" + + "bar") === "fooNaN" //true

"why I am " + typeof + "" // why I am number

JS解析成“foo” + (+ “bar”), 这将会把 “bar” 转成一个数字

3、parseInt 函数

复制代码 代码如下:

parseInt('06'); // 6

parseInt('08'); // 0 注意,谷歌新版已修正

parseInt(null, 24) === 23 // true

4、null是不是object

复制代码 代码如下:

typeof null // object

null instanceof Object // false

5、return返回内容

复制代码 代码如下:

function myjson()

{

return

[

2

]

}

myjson(); // undefined

return返回的内容必须和return在同一行

6、奇怪的数字

复制代码 代码如下:

012 == 12 // false

'012' == 12 // true

"3" + 1 // '31'

"3" - 1 // 2

0.1 + 0.2 == 0.3 // false

0.1 + 0.7 == 0.8 // false

0.2 + 0.7 == 0.9 // false

9999999999999999 // 10000000000000000

9999999999999999-1 //10000000000000000

111111111111111111111 // 111111111111111110000

7、诡异的参数

复制代码 代码如下:

function hello(what) {

alert(arguments[0]); //vicky

what = "world";

return "Hello, " + arguments[0] + "!";

}

hello("vicky"); //"Hello, world!"

8、让人头大的等号

复制代码 代码如下:

NaN === NaN; // false

[] == false; // true

"" == false; // true

null == false; // false

[] == ![] // true

window.window == window // true

window.window === window // false,有些浏览器是true

window == document // true,有些浏览器是false

("0" && {}) == 0 // false

(0 && {}) == 0 // true

0 == "0" // true

[] == 0 // true

【JavaScript编程中容易出BUG的几点小知识】相关文章:

JavaScript实现带标题的图片轮播特效

JavaScript正则表达式的分组匹配详解

JavaScript事件的理解

JavaScript中的small()方法使用详解

JavaScript中strike()方法的使用介绍

JavaScript 预解析的原理及实现

JavaScript中的Math.LOG2E属性使用详解

javascript中this的四种用法

简介JavaScript中charAt()方法的使用

JavaScript中Math.SQRT2属性的使用详解

精品推荐
分类导航