//示例一:
var x = function(){
var _stat=12;
var iMethod = function(){
return 23*_stat;
}
return iMethod;
}
y = x();
Chrome浏览器控制台输出:
ƒ (){
return 23*_stat;
}
原因:
y=x();意思是y等于x函数的返回值,而返回值是iMethod,所以打印输出为iMethod函数。
//示例二:
var x = function(){
var _stat=12;
var iMethod = function(){
return 23*_stat;
}
return iMethod;
}
y = x();
z = y();
Chrome浏览器控制台输出:
276
原因:
y=x();意思是y等于x函数的返回值,而返回值是iMethod,所以打印输出为iMethod函数。
而z = y();意思是z等于y函数的返回值,即调用iMethod。
- 闭包类似于Java的对象,不同的是,对象可以有很多方法,但闭包是只有一个方法的类。
- 闭包是指引用了另一个函数作用域中变量的函数。
- 函数才有闭包的概念。闭包是一种特殊的函数,特殊之处就是能取到非全局非局部变量。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)