作者rabbithenry (欢迎光临Wiiholic.com)
看板Ajax
标题[问题] 请问一种JS写法是什麽用途?
时间Mon Jul 11 17:24:29 2011
这是从jQuery上看来的,而且Google API中也有很多这种写法
大概的格式是
(function(a, undefine) {
...
})(b, c);
我想请问这样的写法是有什麽用途呢?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 122.116.25.77
1F:推 s25g5d4:隔离 避免污染or被污染... 应该是吧 07/11 18:08
2F:→ rabbithenry:不是很明白,是避免变数被重写吗? 07/11 18:32
3F:推 foreverangle:多只程式....避免相同变数名称互相影响.... 07/11 19:33
4F:→ foreverangle:js只有function才能产生scope... 07/11 19:35
5F:→ rabbithenry:那请问 ()() 有什麽作用呢? 07/11 21:46
6F:推 ChowMein:匿名函式 foo=function(a, undefine) 执行它 foo(b, c) 07/11 22:06
7F:推 zombiesky:感谢楼上!! 07/12 01:43
8F:推 windwofswold:包住之後Callback回来叫他变数才不会被改掉XD 07/14 23:38
9F:推 senser:这是closure 我们都知道js 是function block 这种作法可以 07/17 01:53
10F:→ senser:将变数local化而避免污染 这种design pattern广泛出现於 07/17 01:55
11F:→ senser:plug in 或是你在实作oo时 07/17 01:56
12F:推 senser:sorry, 是 function scoping 07/19 17:23