亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

JavaScript編程中容易出BUG的幾點小知識

 更新時間:2015年01月31日 10:25:20   投稿:junjie  
這篇文章主要介紹了JavaScript編程中容易出BUG的幾點小知識,本文總結(jié)了8條小知識,這些小知識如果弄不明白,會在編程中給你惹麻煩出BUG,需要的朋友可以參考下

JavaScript是如今最受歡迎的編程語言之一,但受歡迎同時就是該語言自身的各種特性帶來的副作用,無論該語言多美妙,每天還是有成千上萬的程序員弄出一堆bug。先不要嘲笑別人,或許你也是其中之一。

給你一個例子,下面是幾個簡短的完全有效的JS片段(你可以在你的控制臺上試驗一下):

復(fù)制代碼 代碼如下:

typeof NaN === 'number' // true
 
Infinity === 1/0        // true

0.1 + 0.2 === 0.3       // false,前面加括號也一樣

"3" + 1                 // '31' 
"3" - 1                 // 2

你還相信自己的JavaScript嗎?

1、JS最小的值

復(fù)制代碼 代碼如下:

Number.MIN_VALUE > 0; //true

Number.MIN_VALUE用于JavaScript可以表達(dá)的最小值,為5e-324,然而是JS中最接近0的一個數(shù)

2、字符串連接

復(fù)制代碼 代碼如下:

("foo" + + "bar") === "fooNaN"  //true
"why I am " + typeof + ""       // why I am number

JS解析成“foo” + (+ “bar”), 這將會把 “bar” 轉(zhuǎn)成一個數(shù)字

3、parseInt 函數(shù)

復(fù)制代碼 代碼如下:

parseInt('06'); // 6
parseInt('08'); // 0  注意,谷歌新版已修正
parseInt(null, 24) === 23 // true

4、null是不是object

復(fù)制代碼 代碼如下:

typeof null  // object
null instanceof Object  // false

5、return返回內(nèi)容

復(fù)制代碼 代碼如下:

function myjson()
{
   return
   [
     2
   ]
}

myjson();  // undefined

return返回的內(nèi)容必須和return在同一行

6、奇怪的數(shù)字

復(fù)制代碼 代碼如下:

 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、詭異的參數(shù)

復(fù)制代碼 代碼如下:

function hello(what) {
     alert(arguments[0]);    //vicky
     what = "world";
     return "Hello, " + arguments[0] + "!";
}

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

8、讓人頭大的等號

復(fù)制代碼 代碼如下:

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

相關(guān)文章

  • 淺談TypeScript的類型保護(hù)機制

    淺談TypeScript的類型保護(hù)機制

    這篇文章主要介紹了淺談TypeScript的類型保護(hù)機制,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • JS中的提升機制變量提升函數(shù)提升實例詳解

    JS中的提升機制變量提升函數(shù)提升實例詳解

    這篇文章主要為大家介紹了JS中的提升機制變量提升函數(shù)提升實例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • echartjs實現(xiàn)cross十星輔助線實現(xiàn)示例詳解

    echartjs實現(xiàn)cross十星輔助線實現(xiàn)示例詳解

    這篇文章主要為大家介紹了echartjs實現(xiàn)cross十星輔助線實現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-12-12
  • javascript中的some方法使用解讀

    javascript中的some方法使用解讀

    這篇文章主要介紹了javascript中的some方法使用解讀,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • 如何通過setTimeout理解JS運行機制詳解

    如何通過setTimeout理解JS運行機制詳解

    這篇文章主要給大家介紹了關(guān)于如何通過setTimeout理解JS運行機制的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用js具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • 百度判斷手機終端并自動跳轉(zhuǎn)js代碼及使用實例

    百度判斷手機終端并自動跳轉(zhuǎn)js代碼及使用實例

    這篇文章主要介紹了百度判斷手機終端并自動跳轉(zhuǎn)js代碼及使用實例,需要的朋友可以參考下
    2014-06-06
  • JavaScript禁止微信瀏覽器下拉回彈效果

    JavaScript禁止微信瀏覽器下拉回彈效果

    這篇文章主要為大家詳細(xì)介紹了JavaScript禁止微信瀏覽器下拉回彈效果的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • JavaScript中split() 使用方法匯總

    JavaScript中split() 使用方法匯總

    本文向大家重點講解一下Javascript中split函數(shù)使用,它可以將一個字符串分割為子字符串,然后將結(jié)果作為字符串?dāng)?shù)組返回,相信本文介紹你對split函數(shù)的用法有明確的認(rèn)識。
    2015-04-04
  • javascript中callee與caller的區(qū)別分析

    javascript中callee與caller的區(qū)別分析

    有些小伙伴可能會問caller,callee 是什么?在javascript 中有什么樣的作用?那么本篇會對于此做一些基本介紹。希望能夠?qū)Υ蠹依斫鈐avascript中的callee與caller有所幫助。
    2015-04-04
  • 使用javascript實現(xiàn)一個在線RGB顏色轉(zhuǎn)換器

    使用javascript實現(xiàn)一個在線RGB顏色轉(zhuǎn)換器

    目前已經(jīng)有很多網(wǎng)頁版在線小工具,之前很多窗體化的工具也逐漸網(wǎng)頁化,比如:PS畫圖軟件,也都能直接網(wǎng)頁化進(jìn)行設(shè)計,由于自己實際項目經(jīng)常會用到顏色轉(zhuǎn)換,所以直接自己開發(fā)個簡單版的在線顏色轉(zhuǎn)換小工具,需要的朋友可以參考下
    2024-01-01

最新評論