javascript閉包使用

2021-07-02 04:18:54 字數 936 閱讀 1220

之前看到一段**,很是不能理解,然後就查詢資料並且找網路上得大牛請教,最後弄懂了這段**,然後就拿出來總結一下。

先來看一段**:

var arrtest = ;

for (var i = 0; i < 3; i++) )

}//arrtest=[function(), function(), function()]

console.log(arrtest[0].tostring()); //

function()

console.log(i);

console.log('-------------');

//長度可以使用l 簡單的單詞來代替,減小**長度

for (var i = 0, arrlength = arrtest.length; i < arrlength; i++)

//驗證的i的值

console.log('i的值是' + i); //i=3

console.log('end for');

for (var j = 0, arrlength = arrtest.length; j < arrlength; j++)

arrtest = [function () , function () , function () ]

那怎麼實現當遍歷整個函式的時候列印出我們所希望的0,1,2這樣的結果呢?

/*

對函式進行改造,當執行迴圈的時候,列印0,1,2

*/var arrtest1 = ;

for (var i = 0; i < 3; i++) );

})(i);

}console.log(arrtest1);

for (var i = 0, l = arrtest1.length; i < l; i++)

javascript閉包詳解

下面先看乙個例子,在不執行的情況下推測一下返回結果.function t1 return t2 var temp t1 var age 99 temp 在學習了作用域之後也許會分析結果是99,實際上是20.下面對其一一分析 在大部分語言中,t1被呼叫執行,則申請記憶體並把其區域性變數push入棧。t...

javaScript閉包理解

以下是樓主的見解,如有錯誤請幫忙矯正。以下是是乙個簡單的閉包例子 function creatfunc var myfunc creatfunc alert myfunc 變數variable是乙個閉包,閉包的生命週期一般為呼叫閉包的物件為空 null 時結束。舉乙個複雜點的例子 var singl...

javascript學習 閉包

閉包 指的是有權訪問另乙個函式作用域中的變數的函式。常見的方法是在函式體內置立另乙個函式。function createcomparefunction propertyname else if value1 value2 else return 0 其中value1和value2是內部函式的 訪問了...