這篇文章主要介紹了JavaScript程式設計中容易出BUG的幾點小知識,本文總結了8條小知識,這些小知識如果弄不明白,會在程式設計中給你惹麻煩出BUG,需要的朋友可以參考下
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 // false4.null是不是object
function myjson() { return [ 2 ] } myjson(); // undefined
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
function hello(what) { alert(arguments[0]); //vicky what = "world"; return "Hello, " + arguments[0] + "!"; } hello("vicky"); //"Hello, world!"
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 // true5、return回傳內容return回傳的內容必須和return在同一行6、奇怪的數字7、詭異的參數8、讓人頭大的等號以上就是本章的全部內容,更多相關教學請造訪JavaScript影片教學!