测试例子:
var xx = (function() {
(function() {
alert(9)
})();
alert(10)
return "yyyy";
})();
调用:
alert(xx);
在调用的时候,你会发现只弹出"yyyy"信息,并不见弹出"10"的信息!这也就是说,这个匿名函数只在立即调用的时候执行一次,这时它已经赋予了给xx变量,也就是只是把在初始化的立即调用的结果保存起来。
看运行测试:
立即调用时,9、10信息都弹出:
当再次去调用时,只返回"yyyy"信息:
这足以说明问题了吧。
不足之处,还望赐教!
时间: 2025-01-13 00:25:17