funcitonassignHandler(){varelement=document.getElementById("id")element.onclick=function(){alert(element.id)}}
2 回答
炎炎设计
TA贡献1808条经验 获得超4个赞
答:不需要返回函数解:闭包可以理解为:“定义在一个函数内部的函数”。内部的函数可以访问外部函数的变量,形成一个词法环境的组合。即:functioninit(){varname="jason";//局部变量functionshowName(){//内部函数,一个闭包alert(name);//使用了父函数中声明的变量}showName();}init();无论showName是否返回这个闭包已经形成了,这表示的是一种状态。
互换的青春
TA贡献1797条经验 获得超6个赞
比较简单的理解,在var声明变量的这种语法环境中(es5..),一个{}包裹的就是一个闭包作用域,层层嵌套,内部的会向上追踪,所以for(vari;;){setInterval(foo{i})}这个定时器的i在()里面是不能直接固定的
添加回答
举报
0/150
提交
取消