国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

分享一道關(guān)于閉包、bind和this的面試題

2019-11-19 17:29:55
字體:
供稿:網(wǎng)友

要解決的問題是針對(duì)下面這個(gè)ul,為每一個(gè)li添加一個(gè)點(diǎn)擊事件,彈出對(duì)應(yīng)的index

<ul id="text"> <li>這是第一個(gè)li</li> <li>這是第二個(gè)li</li> <li>這是第三個(gè)li</li></ul>

解答一:bind,將當(dāng)前匿名函數(shù)指向this,將i當(dāng)參數(shù)傳入

var init = function(){var obj = document.getElementById('text');for(var i=0;i<obj.children.length;i++){ obj.children[i].addEventListener('click',function(i){ alert(i) }.bind(this,i))}}init();

解答二:閉包

var init = function(){var lis=document.querySelectorAll("#text li"); for(var i=0;i<lis.length;i++){ lis[i].onclick=(function(i){  return function(){   alert(i);  }; })(i) }}init();

解答三:最笨的方法,匹配

var init = function(){ var obj = document.getElementById('text'); for(var i=0;i<obj.children.length;i++){ obj.children[i].addEventListener('click',function(item){ var self = item.target; for(var j=0;j<obj.children.length;j++){ if(self == obj.children[j]){  alert(j); } } }) }}init();

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對(duì)大家學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 肃北| 宜川县| 宣城市| 乌兰察布市| 东城区| 梁河县| 济南市| 岳阳县| 丹东市| 南漳县| 凌云县| 娄底市| 泗水县| 东丰县| 开化县| 诸暨市| 农安县| 凤山市| 井研县| 闻喜县| 安阳市| 黔西| 吉林市| 南召县| 绥芬河市| 秦安县| 白沙| 清原| 报价| 青铜峡市| 漾濞| 武冈市| 托里县| 威信县| 白银市| 黎城县| 宾阳县| 喀什市| 昌都县| 隆子县| 泸水县|