日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

js闭包绑定元素

發布時間:2025/3/14 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 js闭包绑定元素 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

閉包,官方對閉包的解釋是:一個擁有許多變量和綁定了這些變量的環境的表達式(通常是一個函數),因而這些變量也是該表達式的一部分。閉包的特點:   1. 作為一個函數變量的一個引用,當函數返回時,其處于激活狀態。   2. 一個閉包就是當一個函數返回時,一個沒有釋放資源的棧區。   

簡單的說,Javascript允許使用內部函數---即函數定義和函數表達式位于另一個函數的函數體內。而且,這些內部函數可以訪問它們所在的外部函數中聲明的所有局部變量、參數和聲明的其他內部函數。當其中一個這樣的內部函數在包含它們的外部函數之外被調用時,就會形成閉包。

?

常見的陷阱: function createFunctions(){ ??var result = []; ??for (var i=0; i < 10; i++){ ????result[i] = function(){ ??????return i; ????}; ??} ??return result; } var funcs = createFunctions(); for (var i=0; i < funcs.length; i++){ ??console.log(funcs[i]()); } 開始以為輸出的是0~9,其實界都是10個10,以為他是等for循環完之后才會做賦值,而不是每循環一次就
實例:
循環綁定元素:
方法一: <div class="button">1</div>
<div class="button">2</div>
<div class="button">3</div>
<div class="button">4</div>
<script type="text/javascript">
var div = document.getElementsByTagName('div')
for( var i=0;i<div.length;i++) {
(function (i) {
console.log(div[i].innerHTML);
div[i].οnclick=function () {
alert(div[i].innerHTML)
}
})(i);
}
</script>
這是一個簡單的閉包,它會循環綁定<div>元素,點擊哪個<div>,就會彈出它<div>所包含的內容

待續...


轉載于:https://www.cnblogs.com/MyIsLu/p/6554875.html

總結

以上是生活随笔為你收集整理的js闭包绑定元素的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。