最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

幫助避免錯誤的Javascript陷阱清單

 更新時間:2009年05月31日 00:53:37   作者:  
幫助避免錯誤的Javascript陷阱清單(Javascript Gotchas listed to help avoid mistakes)

翻譯講究"信\雅\達",我就談不上了.希望能把文章的意思不要弄錯就行.

編程的陷阱(gotcha)是指計算機系統(tǒng)中的意想不到的文檔特征而不是bug.這些陷阱使得初學者遠離javascript編程.在我看來,因為所有的瀏覽器都能運行javascript使得它是使用最廣泛的語言之一,但它也是最少人研究的.讓我們從一個基礎(chǔ)的示例開始.

1.浮點運算

這可能是挫敗一些對javascript不熟悉并準備執(zhí)行一些數(shù)學運算的人的主要原因.

  1. <script>  
  2. alert(0.02 / 0.1);  //0.19999999999999998   
  3. alert(1.14 * 100);  //113.99999999999999    ;)  
  4. </script> 

Math.round()就能在這里派上用場.

2.加號操作符的重載

"+"加號運算符即能做算術(shù)運算,又能夠做字符串的連接.如果正確的使用它是很便利的.讓我們看一看.

  1. <script>  
  2. var msg, one="1";  
  3. msg = 2 + "1"// msg = "21"  
  4. msg = 2 + one; // msg = "21"  
  5. msg = 1 + 1 + 1 + " musketeers"// msg = "3 musketeers"  
  6. msg = "Bond " + 0 + 0 + 7; //msg = "Bond 007"    
  7. </script> 

上述行為是因為這些運算都是從左到右執(zhí)行的.類型的轉(zhuǎn)換是基于其中的字符串或數(shù)字.

3.行尾插入分號

javascript 自動在行尾插入分號";",讓我們來看看這在一個簡單的示例中的情況.

  1. <script>  
  2. function returnSame(a){  
  3.    return                 //Inserts semi-colon to convert to return;  
  4.    a                      //a becomes a; - Unreachable  
  5. }  
  6. alert(returnSame(2));  //Output is undefined  
  7. </script> 

當在創(chuàng)建對象或使用對象的值的時候這個神奇的分號能使事情變得更復雜.

4.typeof操作符

typeof 是一個一元操作符,運算結(jié)果往往并不是如預期的那樣.令人吃驚的是對"null"的運算結(jié)果是"object"

  1. <script>  
  2. var obj={};  //object created using object literal  
  3. var arr=[];  //array created by array literal  
  4. alert(typeof(obj));   //object  - Good  
  5. alert(typeof(arr));   //object  - Bad  
  6. alert(typeof(null));  //object  - Ugly!  ;) 
  7. </script>

它僅僅能查找對象的原始類型.

5. false, null, undefined, NaN, Infinity

盡管他們看起來相似,但他們代表著不通的意思.javascript有3種基本數(shù)據(jù)類型數(shù)字numbers, 字符串strings 和布爾 boolean,除此之外還有兩個不重要的數(shù)據(jù)類型"undefine"和"null".按照"=="運算符運算,null和undefine是相等的.

  1. <script>  
  2. var a;  
  3. alert (a);    //undefined  
  4. alert (1/0);  //Infinity  
  5. alert (0/0);  //NaN  
  6. 0/0 == 0/0;   //false - a NaN != NaN  
  7. alert (b);    //error  
  8. </script> 

6.字符串只替換第一個匹配的字符

與PHP或其他程序語言不同,默認情況下,javascript的字符替換只替換第一個出現(xiàn)的匹配的字符.

  1. <script>  
  2. var nospace = "I dont need spaces".replace(" ","_");  
  3. alert(nospace);    //I_dont need spaces   - Only first occurence  
  4. var nospace = "I dont need spaces".replace(/ /g,"_");  
  5. alert(nospace);    //I_dont_need_spaces  
  6. </script> 

 7.parseInt 函數(shù)

parseInt 用來將一個字符串轉(zhuǎn)換為整數(shù)類型.這個函數(shù)能傳入兩個參數(shù),第二個參數(shù)是指定多少進制的.這里十進制用 10 指定.如果沒有指定進制,則parseInt函數(shù)自己會試圖找到合適的進制.如果是這樣,以0開頭的字符串將會轉(zhuǎn)換為8進制.

  1. <script>  
  2. var str = "017";  
  3. var strInt = parseInt(str);      //strInt = 15  ;)  
  4. var strInt = parseInt(str,10);   //strInt = 17  
  5. </script> 

相關(guān)文章

  • 使用JavaScript腳本無法直接改變Asp.net中Checkbox控件的Enable屬性的解決方法

    使用JavaScript腳本無法直接改變Asp.net中Checkbox控件的Enable屬性的解決方法

    今天工作中遇到個小問題,情況如下,當我在后臺頁面中設(shè)置Checkbox的Enable的值為false時,我在前端頁面中使用腳本(chk.disabled = false),無法改變disabled的值為false,下面看看小編是怎么解決此問題的,需要的朋友一起了解了解吧
    2015-09-09
  • js提交form表單,并傳遞參數(shù)的實現(xiàn)方法

    js提交form表單,并傳遞參數(shù)的實現(xiàn)方法

    下面小編就為大家?guī)硪黄猨s提交form表單,并傳遞參數(shù)的實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-05-05
  • 小程序跳轉(zhuǎn)H5頁面的方法步驟

    小程序跳轉(zhuǎn)H5頁面的方法步驟

    這篇文章主要介紹了小程序跳轉(zhuǎn)H5頁面的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-03-03
  • JavaScript一元正號運算符示例代碼

    JavaScript一元正號運算符示例代碼

    這篇文章主要給大家介紹了關(guān)于JavaScript一元正號運算符的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用JavaScript具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-06-06
  • JavaScript實現(xiàn)隨機點名器實例詳解

    JavaScript實現(xiàn)隨機點名器實例詳解

    這篇文章主要介紹了JavaScript隨機點名器,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-05-05
  • JavaScript解析及序列化JSON的方法實例分析

    JavaScript解析及序列化JSON的方法實例分析

    這篇文章主要介紹了JavaScript解析及序列化JSON的方法,結(jié)合實例形式分析javascript針對json格式數(shù)據(jù)的解析、序列化等相關(guān)操作技巧,需要的朋友可以參考下
    2019-01-01
  • 基于JavaScript實現(xiàn)年月日三級聯(lián)動

    基于JavaScript實現(xiàn)年月日三級聯(lián)動

    這篇文章主要為大家詳細介紹了基于JavaScript實現(xiàn)年月日三級聯(lián)動,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • 拆開JavaScript迭代器模式內(nèi)部黑盒子

    拆開JavaScript迭代器模式內(nèi)部黑盒子

    這篇文章主要為大家介紹了JavaScript迭代器模式內(nèi)部黑盒子解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-12-12
  • Spring Boot+AngularJS+BootStrap實現(xiàn)進度條示例代碼

    Spring Boot+AngularJS+BootStrap實現(xiàn)進度條示例代碼

    一般上傳文件時都需要進度條,本篇文章主要介紹了Spring Boot+AngularJS+BootStrap實現(xiàn)進度條示例代碼,有興趣的可以了解一下。
    2017-03-03
  • 分頁欄的web標準實現(xiàn)

    分頁欄的web標準實現(xiàn)

    分頁欄是網(wǎng)頁上最常見不過的一個組件,本博文給出分頁欄的一個web2.0標準示例,并作簡要分析
    2011-11-11

最新評論

南和县| 独山县| 新绛县| 三明市| 屯门区| 吉隆县| 泾源县| 旬阳县| 邢台市| 旬邑县| 宜都市| 分宜县| 健康| 若尔盖县| 安塞县| 许昌县| 庆安县| 尼勒克县| 什邡市| 沙田区| 商水县| 吉林省| 同仁县| 龙南县| 新晃| 光泽县| 克拉玛依市| 揭东县| 河南省| 安福县| 东光县| 富顺县| 铁岭县| 内乡县| 惠水县| 肇源县| 宁陵县| 郁南县| 岐山县| 淮北市| 昌宁县|