開通VIP,暢享免費(fèi)電子書等14項超值服
首頁
好書
留言交流
下載APP
聯(lián)系客服
2013.12.26
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可以表達(dá)的最小值,為5e-324,然而是JS中最接近0的一個數(shù)
2、字符串連接
//true"why I am " + typeof + "" // why I am number
JS解析成“foo” + (+ “bar”), 這將會把 “bar” 轉(zhuǎn)成一個數(shù)字
3、parseInt 函數(shù)
1 parseInt('06'); // 62 parseInt('08'); // 0 注意,谷歌新版已修正3 parseInt(null, 24) === 23 // true
4、null是不是object
typeof null // objectnull instanceof Object // false
5、return返回內(nèi)容
function myjson(){ return [ 2 ]}myjson(); // undefined
return返回的內(nèi)容必須和return在同一行
/******** ********* / 博客:http://www.cnblogs.com/roucheng// ******* *********/
6、奇怪的數(shù)字
012 == 12 // false'012' == 12 // true "3" + 1 // '31' "3" - 1 // 20.1 + 0.2 === 0.3 // false9999999999999999 // 10000000000000000111111111111111111111 // 111111111111111110000
7、詭異的參數(shù)
function hello(what) { alert(arguments[0]); //vicky what = "world"; return "Hello, " + arguments[0] + "!";}hello("vicky"); //"Hello, world!"
8、讓人頭大的等號
1 NaN === NaN; // false 2 [] == false; // true 3 "" == false; // true 4 null == false; // false 5 [] == ![] // true 6 7 window.window == window // true 8 window.window === window // false,有些瀏覽器是true 9 window == document // true,有些瀏覽器是false10 11 ("0" && {}) == 0 // false12 (0 && {}) == 0 // true13 0 == "0" // true14 [] == 0 // true
微信登錄中...請勿關(guān)閉此頁面