国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答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
主站蜘蛛池模板: 欧美日韩精品一区二区三区视频在线 | 久久91精品国产99久久yfo | 亚洲第一页在线 | 一区二区三区国产 | 一级毛片免费毛片一级毛片免费 | 久久免费精品国产72精品剧情 | 日韩亚洲第一页 | 成人免费视频一区二区 | 伊人久久成人成综合网222 | 日韩国产欧美一区二区三区 | 久久久成人网 | 国产片在线观看 | 国产视频一区二区在线观看 | 日韩欧美高清视频 | 国产欧美一区二区三区在线 | 久久999| 天堂亚洲欧美日韩一区二区 | 看全色黄大色大片免费久久久 | 亚洲免费网站观看视频 | 久久精品日日躁夜夜躁欧美 | 亚洲色图在线播放 | 久久久无码精品亚洲日韩按摩 | 一级毛片子 | 国产 日韩 欧美 综合 | 国产精品糟蹋漂亮女教师 | 亚洲欧美日韩高清综合678 | 青青热久久国产久精品 | 亚洲v欧美 | 欧美一级久久久久久久大片 | 成人精品第一区二区三区 | 国产精品成人久久久久 | 久久一区二区三区免费播放 | 久久国产精品电影 | 国产在线观看入口 | 四虎影视最新地址 | 久久99九九精品免费 | 毛片免费网 | 特黄日韩免费一区二区三区 | 国产精美视频 | 亚洲一区 中文字幕 | 一级毛片特黄久久免费看 |