欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JS中閉包的經(jīng)典用法小結(jié)(2則示例)

 更新時(shí)間:2016年12月28日 10:07:54   作者:aitangyong  
這篇文章主要介紹了JS中閉包的經(jīng)典用法,結(jié)合2則示例分析了JS閉包的相關(guān)使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下

本文實(shí)例總結(jié)了JS中閉包的經(jīng)典用法。分享給大家供大家參考,具體如下:

閉包這個(gè)東西,網(wǎng)上有很多介紹資料。個(gè)人看了很多,還是一知半解。這里不做理論介紹,直接給出2個(gè)例子。

代碼1:記錄函數(shù)被調(diào)用的次數(shù)

function a()
{
  var i = 0;
  function b()
  {
    return ++i;
  }
  return b;
}
var c = a();
c();//1
c();//2

這種方式類似C語言中的private static變量,能夠保持局部變量的內(nèi)存不釋放。

代碼2:正確給DOM注冊事件處理函數(shù)

<body>
  <input type="button" id="b1" value="1">
  <input type="button" id="b2" value="2">
  <input type="button" id="b3" value="3">
  <input type="button" id="b4" value="4">
  <script type="text/javascript">
    var buttons = document.getElementsByTagName("input");
    for (var i = 0; i < buttons.length; i++)
    {
      // 方式1:i的值一直是3
      //buttons[i].onclick = function() {
      // console.log(i + " was clicked.");
      //}
      // 方式2:從0到3,是我們要的效果
      (function(i){
        buttons[i].onclick = function() {
          console.log(i + " was clicked.");
        }
      })(i);
    }
  </script>
</body>

更多關(guān)于JavaScript相關(guān)內(nèi)容可查看本站專題:《javascript面向?qū)ο笕腴T教程》、《JavaScript中json操作技巧總結(jié)》、《JavaScript切換特效與技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》、《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)

希望本文所述對大家JavaScript程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評論