您好,欢迎访问一九零五行业门户网

JavaScript编程中容易出BUG的几点小知识

这篇文章主要介绍了javascript编程中容易出bug的几点小知识,本文总结了8条小知识,这些小知识如果弄不明白,会在编程中给你惹麻烦出bug,需要的朋友可以参考下
javascript是如今最受欢迎的编程语言之一,但受欢迎同时就是该语言自身的各种特性带来的副作用,无论该语言多美妙,每天还是有成千上万的程序员弄出一堆bug。先不要嘲笑别人,或许你也是其中之一。
给你一个例子,下面是几个简短的完全有效的js片段(你可以在你的控制台上试验一下):
typeof nan === 'number' // true infinity === 1/0 // true0.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'); // 6parseint('08'); // 0 注意,谷歌新版已修正parseint(null, 24) === 23 // true
4、null是不是object
typeof null // objectnull 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 // 20.1 + 0.2 == 0.3 // false0.1 + 0.7 == 0.8 // false0.2 + 0.7 == 0.9 // false9999999999999999 // 100000000000000009999999999999999-1 //10000000000000000111111111111111111111 // 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; // truenull == false; // false[] == ![] // truewindow.window == window // truewindow.window === window // false,有些浏览器是truewindow == document // true,有些浏览器是false("0" && {}) == 0 // false(0 && {}) == 0 // true0 == "0" // true[] == 0 // true
以上就是本章的全部内容,更多相关教程请访问javascript视频教程!
其它类似信息

推荐信息