我所理解的闭包
閉包最主要概念:有權(quán)訪問另一個函數(shù)作用域內(nèi)變量的函數(shù)
function add(){var result;result = function(x,y){return y+x } return result }var sum = new add(); console.log(sum(10,20))/*30*/函數(shù)會執(zhí)行的主要原因就在于()
function createFunctions(){var result = new Array();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]()); } /*打印出10個10*/原因在于返回的函數(shù)都引用了變量i,但它并非立即執(zhí)行,等到函數(shù)都返回是i=10
function createFunctions(){var result = new Array();for (var i=0; i < 10; i++){result[i]=(function(num,count){return function (){return num+count}})(i,3)}return result; } var funcs = createFunctions();for (var i=0; i < funcs.length; i++){console.log(funcs[i]()); } /*正確打印1-10*/內(nèi)部有立即執(zhí)行函數(shù),也就是()執(zhí)行環(huán)境
?
轉(zhuǎn)載于:https://www.cnblogs.com/yewook/p/9564032.html
總結(jié)
- 上一篇: JAAS 简介
- 下一篇: JAAS Authorization文档