锁定老帖子 主题:JS 闭包
该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2009-04-10
可以给详细相关资料吗?
|
|
返回顶楼 | |
发表时间:2009-04-12
histan 写道 可以给详细相关资料吗?
知识库中的javascript面向对象技术基础有六讲,非常不错,可以去看下的 |
|
返回顶楼 | |
发表时间:2009-04-13
学习了,有了一个大概的了解,这个和平常的程序里的闭包概念差不多
|
|
返回顶楼 | |
发表时间:2009-04-14
javaeys上有一篇关于js的面向对象的讲解,还有《悟透JavaScript》资料,结合起来看,看完后就会茅塞顿开。
|
|
返回顶楼 | |
发表时间:2009-04-20
终于可以发贴了..
|
|
返回顶楼 | |
发表时间:2009-04-21
感觉就是还是按照行执行代码,只不过遇到函数的时候就继续,遇到没有var定义的变量,则联系上下文查找var。说明对var的处理优先级很高。
|
|
返回顶楼 | |
发表时间:2009-04-22
民工精髓 写道 cocococoon 写道 Army 写道 最后一个例子还是不太明白,var声明不是被提前了么?
稍微修改一下最后一个例子的代码你就明白了: function outerFun() { alert(a); // got 4 a =0; alert(a); // got 0 } var a=4; outerFun(); alert(a); 改成这样也许更容易理解,函数的声明在前在后没有关系,只跟调用有关 var a=4; outerFun(); alert(a); function outerFun() { alert(a); // got 4 a =0; alert(a); // got 0 } 改完后outerFun还没有声明呢,是undefined,js是一块块的按顺序解释执行。 |
|
返回顶楼 | |
发表时间:2009-04-23
shinelgz 写道 没有用var 声明的局部变量,都视为全局变量
function test(){ i = 10;//全局变量 } var i = 0; test(); alert(i);//out: 10 上面这个函数就是闭包了。 同意。 |
|
返回顶楼 | |
发表时间:2009-04-27
http://www.iteye.com/wiki/Object_Oriented_JavaScript/1317-javascript-object-oriented-technology-6
这里讲的比较详细。。。 |
|
返回顶楼 | |
发表时间:2009-08-19
<script>
function outerFun() { var b=0; function innerFun() { a=1; alert(a); } return innerFun; //注意这里 } var obj=outerFun(); obj(); //结果为1 obj(); //结果为2 alert(outerFun.b); //结果为undefined alert(obj.b); //结果为undefined </script> 有人能为我解释一下:最后两个为什么是undefined嘛? |
|
返回顶楼 | |