- 主题:这个算是JavaScript的闭包吗? 看不太懂,请教大家
myFunction = function(){
var myPrivate;
var myPrivateFun1 = function(){
};
var myPrivateFun2 = function(){
myPrivateFun1();
return {
a: function(){}
}
};
return myPrivateFun2;
}();
问题:
1、myFunction函数里有几个闭包?
2、整个程序的执行过程是怎么样的?
3、谁调用的myPrivateFun2?
--
FROM 114.255.41.*
myFunction为什么一定要写成即时调用的形式?
fun = function(){
}();
在html中,先引入了上述js文件
在下面进行了如下使用:
<script>var xx=myFunction();</script>
myFunction在上面不是已经销毁了吗? 怎么还可以使用?
这是什么用法呢?
【 在 roger1234 (xiaohao) 的大作中提到: 】
: myFunction = function(){
: var myPrivate;
: var myPrivateFun1 = function(){
: ...................
--
FROM 114.255.41.*
可以是。。 搞不清啊
【 在 lins05 (lins) 的大作中提到: 】
: 面试题?
: 从来没听说闭包还能按“个 ”来衡量
: 从上往下执行
: ...................
--
FROM 114.255.41.*
但是不写成即时调用的形式
下面<script>var xx=myFunction();</script>
就不执行了
这是什么原因?
【 在 singleton ([该地区已被屏蔽]人民大起义) 的大作中提到: 】
: 写成及时调用的形式是为了控制作用域,myPrivateFun1在外面是完全不可见的,
: myFunction最后实际上是myPrivateFun2。
--
FROM 114.255.41.*