首頁  >  文章  >  web前端  >  JavaScript程式設計中容易出BUG的幾點小知識

JavaScript程式設計中容易出BUG的幾點小知識

PHPz
PHPz原創
2016-05-16 16:16:451642瀏覽

這篇文章主要介紹了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  // false
4.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          // true
5、return回傳內容

return回傳的內容必須和return在同一行6、奇怪的數字7、詭異的參數8、讓人頭大的等號以上就是本章的全部內容,更多相關教學請造訪JavaScript影片教學!
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn