javascript闭包的问题,详解。
发布网友
发布时间:2022-04-30 16:55
我来回答
共5个回答
热心网友
时间:2022-04-19 02:46
js闭包的问题其实就是js的变量作用域的问题,js有两种作用域,全局作用域和函数作用域, 全局作用域就不说了, 闭包其实是函数作用域衍生的一个特性.因为每个函数内都是一个作用域, 所以就会有一个作用域链存在,还是举例说明吧:
var a = "a";
function test0 () {
var b = "b";
function test1 () {
var c = "c";
return a + b + c;
}
}
这样就会有一个作用域链存在 全局作用域==>test0函数作用域==>test1函数作用域, 这样test1函数里可以取到test0中和全局变量的值,也就是可以取到a和b的值, test0函数中可以取到全局的变量的值,也就是说作用域链后面的可以取到前面的值. 其实闭包说的就是作用域链的这个特性.
不过一般闭包都是用在匿名函数上, 上面的函数可以修改为下面的
var a = "a";
function test0 () {
var b = "b";
return function() {
var c = "c";
return a + b + c;
}
}
test0()(); //=>"abc"
纯手打,希望对你有帮助
热心网友
时间:2022-04-19 04:04
解题在哪?
JS开发,推荐使用国内的全功能的JS框架,百度一下JSer
热心网友
时间:2022-04-19 05:38
javascript闭包的问题是一个很值得关注的问题。
热心网友
时间:2022-04-19 07:30
闭包??
热心网友
时间:2022-04-19 09:38
解什么?