匿名函数,你可以查一下,相当于function aaa(){}
aaa()
aaa()
解决方案 »
- AJAX不执行回调函数,怎么办??
- jQuery或$ 不能识别问题
- extjs 饼图不出效果!!!
- window.showModalDialog的问题
- ISAPI_Rewrite 重写的问题.
- js 中 "$"这个是什么?这句话为什么会自动激活了这个函数?
- B/S前端问题
- 做的短消息提示的小浮动窗体,想让他2秒中自动关闭如何实现,具体代码如下
- 一个困难的问题---------------如何进行表格的动态增加?????
- 用innerHTML出来的页面 就不能通过事件句柄调用函数了吗???
- a页面我插入了很多图像我想在b页面打印出这些图像的src值怎么做
- 求一个实现全选的函数,请帮忙看看,在线等。。。。
function aaa(){/函数体/}
aaa()和直接执行
/函数体/没有什么区别吧?
也就是匿名函数不会导致污染全局变量,还有其它作用吗?
如果仅仅是因为上面的原因的话,把函数体用{}括起来不一样吗?
{
/函数体/
}
var a=0;
{
var a=1
}
alert(a)var b=0;
(function(){
var b=1
})()
alert(b)
</script>
var f=[]
for(i=0;i<3;i++){
f[i]=function(){alert(i)};
}
f[0]();
f[1]();
f[2]();var ff=[]
for(i=0;i<3;i++){
(function(i){ff[i]=function(){alert(i)};})(i)
}
ff[0]();
ff[1]();
ff[2]();
</script>
function handler(i,n){
....
}
看看下面的代码吧
模拟闭包
var f=[]
for(i=0;i<3;i++){
f[i]=eval("function(){alert("+i+")}")
}
//哈哈哈 看看下面的结果 模拟闭包 不过ff下正确弹出 ie下没反应(我晕)
f[0]()//弹出0
f[1]()//弹出1
f[2]()//弹出2
var f=[]
for(i=0;i<3;i++){
f[i]=eval("0,function(){alert("+i+")}")//注意这加了个0,
}
//ie ff都能弹出下面的了
f[0]()//弹出0
f[1]()//弹出1
f[2]()//弹出2