<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題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關(guān)鍵字專題關(guān)鍵字專題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
        當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

        JavaScript中常見陷阱小結(jié)_javascript技巧

        來源:懂視網(wǎng) 責(zé)編:小采 時間:2020-11-27 20:48:59
        文檔

        JavaScript中常見陷阱小結(jié)_javascript技巧

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

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

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


        閉包是與作用域相關(guān)的一個概念,它指的是內(nèi)部函數(shù)即使在外部函數(shù)執(zhí)行完成并終止后,依然可以訪問其外部函數(shù)的屬性。當(dāng)引用一個變量或方法時,JavaScript會沿著由對象執(zhí)行路徑構(gòu)成使用域鏈對使用域進行解析,查找變量最近定義的值,一旦找到即使用該值。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);
            });
          }
        }

        假設(shè)頁面中有三個A元素,ID分別為anchor1到anchor3,程序為三個A元素注冊onclick事件,單擊第個A元素顯示"my id is anchorX",但實際運行情況卻不是這樣,單擊每個A元素都顯示"my id is anchor4"。為什么會這樣呢,因為i的值實際上是在單擊事件發(fā)生時才從使用域鏈中取得的,當(dāng)單擊事件發(fā)生時,initAnchors()已執(zhí)行完畢,此時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);

        });

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

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

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

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

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

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

        文檔

        JavaScript中常見陷阱小結(jié)_javascript技巧

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

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 亚洲高清视频免费| 亚洲午夜电影在线观看| eeuss免费天堂影院| 免费一级特黄特色大片在线观看| 国产亚洲人成网站在线观看| 久久久久久国产a免费观看不卡| 亚洲男人天堂2020| 国产99久久久国产精免费| 337p日本欧洲亚洲大胆裸体艺术| 黄网站色成年片大免费高清| 亚洲国产精品人人做人人爽| 国产精品无码免费专区午夜| 久久国产亚洲观看| 99爱在线观看免费完整版| 亚洲免费观看网站| 日本免费人成视频播放| 日日摸日日碰夜夜爽亚洲| 亚洲伊人久久综合影院| 久久久久久免费一区二区三区| 18gay台湾男同亚洲男同| 好大好深好猛好爽视频免费| 久久久久久亚洲精品无码| 亚洲综合精品网站| 99久久免费中文字幕精品| 亚洲av产在线精品亚洲第一站| 日韩免费观看视频| 国产一级a毛一级a看免费视频| 亚洲视频在线一区二区三区| 成人免费无遮挡无码黄漫视频| 九九免费久久这里有精品23| 亚洲国产国产综合一区首页| 午夜dj免费在线观看| www一区二区www免费| 亚洲日本在线播放| 一本色道久久88综合亚洲精品高清| 久久性生大片免费观看性| 亚洲伊人色一综合网| 亚洲国产高清在线一区二区三区| 2020因为爱你带字幕免费观看全集| 亚洲av永久无码精品网址| 亚洲高清专区日韩精品|