• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
    問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
    當前位置: 首頁 - 科技 - 知識百科 - 正文

    JavaScript中常見陷阱小結_javascript技巧

    來源:懂視網 責編:小采 時間:2020-11-27 20:48:59
    文檔

    JavaScript中常見陷阱小結_javascript技巧

    JavaScript中常見陷阱小結_javascript技巧:你所創建的所有函數都是區分大小寫的 單引號('字符串')和雙引號(字符串)在JavaScript中沒有特殊的區別,都可以用來創建字符串.但作為一般原則,大多數WEB開發者都選擇使用單引號 而不是雙引號,因為XHTML規范要求所有XHTML屬性值都必須使用雙引號括起來. J
    推薦度:
    導讀JavaScript中常見陷阱小結_javascript技巧:你所創建的所有函數都是區分大小寫的 單引號('字符串')和雙引號(字符串)在JavaScript中沒有特殊的區別,都可以用來創建字符串.但作為一般原則,大多數WEB開發者都選擇使用單引號 而不是雙引號,因為XHTML規范要求所有XHTML屬性值都必須使用雙引號括起來. J

    你所創建的所有函數都是區分大小寫的
    單引號('字符串')和雙引號("字符串")在JavaScript中沒有特殊的區別,都可以用來創建字符串.但作為一般原則,大多數WEB開發者都選擇使用單引號 而不是雙引號,因為XHTML規范要求所有XHTML屬性值都必須使用雙引號括起來.

    JavaScript不支持重載,在JavaScript中,腳本在執行時不會顧及函數定義時的參數,而是直接使用在作用域鏈中最后定義的那個函數。這意味著,相同名稱的函數永遠只存在一個實例


    閉包是與作用域相關的一個概念,它指的是內部函數即使在外部函數執行完成并終止后,依然可以訪問其外部函數的屬性。當引用一個變量或方法時,JavaScript會沿著由對象執行路徑構成使用域鏈對使用域進行解析,查找變量最近定義的值,一旦找到即使用該值。function initAnchors(event){
    代碼如下:
      for (var i=1; i <=3; i++){
        var anchor = document.GetElementById('anchor' + i);
        anchor.attachEvent('onclick', function() { 
        alert('my id is anchor' + i);
        });
      }
    }

    假設頁面中有三個A元素,ID分別為anchor1到anchor3,程序為三個A元素注冊onclick事件,單擊第個A元素顯示"my id is anchorX",但實際運行情況卻不是這樣,單擊每個A元素都顯示"my id is anchor4"。為什么會這樣呢,因為i的值實際上是在單擊事件發生時才從使用域鏈中取得的,當單擊事件發生時,initAnchors()已執行完畢,此時i的值等于4。解決方法可以按如下
    代碼如下:
    function registerAnchorListner(anchor,i){
      anchor.attachEvent('onclick', function() { 
        alert('my id is anchor' + i);
      }  
    }
    function initAnchors(event){
      for (var i=1; i <=3; i++){
        var anchor = document.GetElementById('anchor' + i);
        registerAnchorListner(anchor,i);

      }

    }

    var anchor = document.GetElementById('anchor' + i);
    anchor.attachEvent('onclick', function() {
    alert('my id is anchor' + i);

    });

    迭代對象,在編寫腳本時經常使用到迭代,如下:
    代碼如下:
    var list = [1,2,3,4];
    for(var i = 0;i < list.length; i++){
      alert(list);
    }

    另一種可供選擇的迭代方法是使用for循環遍歷位于(in)list中的每個屬性:
    代碼如下:
    for(var i in list){
      alert(list);
    }

    此時,得到的是與使用前一迭代方法相同的結果,因為list是一個Array對象。

    但是,當使用for(var i in item)方法操縱類似數組而又不是數組的對象時一定要格外小心,如下
    代碼如下:
    var all=document.getElementsByTagName('*');
    for(var i in all){
      //對照all元素進行某些操作
    }

    在這次的迭代過程中,i的值會分別等于length、item和namedItem,而這很可能會導致代碼中出現意外錯誤。在某些情況下,可以使用對象的hasOwnProperty()方法來避免這個問題。如果對象的屬性或方法是非繼承的,那么hasOwnProperty()方法返回true。即這里的檢查不涉及從其它對象繼承的屬性和方法,只會檢查在特定對象自身中直接創建的屬性,比如分配給數組的元素。因此,在如果在for循環中使用這種檢查,那么循環將會跳過length這樣屬性,因為length不是數組all的真系屬性,而是從派生數組all的NameNodeMap對象中繼承的屬性
    代碼如下:
    var all=document.getElementsByTagName('*');
    for(var i in all){
      if(!all.hasOwnProperty(i)) continue;
      //對照all元素進行某些操作
    }

    聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    JavaScript中常見陷阱小結_javascript技巧

    JavaScript中常見陷阱小結_javascript技巧:你所創建的所有函數都是區分大小寫的 單引號('字符串')和雙引號(字符串)在JavaScript中沒有特殊的區別,都可以用來創建字符串.但作為一般原則,大多數WEB開發者都選擇使用單引號 而不是雙引號,因為XHTML規范要求所有XHTML屬性值都必須使用雙引號括起來. J
    推薦度:
    標簽: js javascript 陷阱
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 国产精品区免费视频| 久久狠狠高潮亚洲精品| 亚洲中文字幕无码久久精品1 | 91久久婷婷国产综合精品青草| 人妻少妇精品无码专区二区| 亚洲国产综合91精品麻豆| 久久综合精品国产二区无码| 另类国产精品一区二区| 97精品在线播放| 91老司机深夜福利精品视频在线观看| 国产精品视频一区二区三区| 亚洲精品国产精品乱码在线观看| 久久精品国产99久久久| 欧美精品亚洲精品日韩专区| 国产精品热久久无码av| 99久re热视频这里只有精品6| 亚洲乱码日产精品a级毛片久久| 国产精品日韩AV在线播放| 麻豆精品国产自产在线观看一区| 精品无码人妻一区二区三区品 | 国产综合免费精品久久久| 国产l精品国产亚洲区在线观看| 亚洲欧洲国产日韩精品| 999成人精品视频在线| 精品无人码麻豆乱码1区2区| 亚洲国产精品18久久久久久| 一夲道无码人妻精品一区二区| 亚洲精品人成在线观看| 国产精品莉莉欧美自在线线| 国产AV午夜精品一区二区入口| 国产精品自产拍高潮在线观看| 亚洲国产精品一区二区第一页| 国产精品亚洲精品观看不卡| 99精品在线观看| 国产精品一久久香蕉国产线看观看| 精品亚洲成α人无码成α在线观看| 精品久久久久久久久午夜福利| 国产精品偷窥熟女精品视频| 国产精品一区二区av不卡| 国产三级精品三级| 久久人人爽人人精品视频|