作者jjjkkkooo (接科噎欧)
看板Ajax
标题[问题] js的function
时间Sun Dec 18 14:18:36 2011
大家好,在下正在学习js与jQuery,是新手,不过有写过
flash的AS与php,js的感觉很像flash以前的AS2,还算蛮好上手的
但一直有个东西不懂为什麽要这样写,像jQuery原始码里
以及其它范例常出现下面的语法:
(function(){
}());
一般function是这样写
function(){
}
外层又包了括弧实在不懂这到底是什麽函义,是否能指点一二?感激不尽!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 122.118.209.45
1F:→ kilva:js里对实字(literal)的应用之多样确实是其他语言所少见的。 12/18 14:28
2F:→ bibo9901:就是立刻执行那个 function 12/18 14:29
那可否再问一下,在jQuery里它是带了二个参数
(function( window, undefined ) {
}());
第二个参数undefined是做什麽用的?感觉没用途呀…
※ 编辑: jjjkkkooo 来自: 122.118.209.45 (12/18 14:33)
3F:→ kilva:这是js的匿名函数(anonymous function),可隔离函数内外的变 12/18 14:56
4F:→ kilva:数。 12/18 14:57
5F:→ kilva:(function(window,undefined){})(window)即隔离jQuery定义的 12/18 14:58
6F:→ kilva:undefined。 12/18 14:59
7F:→ jjjkkkooo:虽然还是没看得很懂,不过还是感谢回覆 <(_ _)> 12/18 20:58
8F:→ grence:undefined can be defined. ex:window.undefined=true; 12/18 22:35
9F:→ grence:function定义一个参数但不传值确保一定是 undefined 12/18 22:38
10F:→ TonyQ:不过其实在这里传 window跟 undefined 是加速他查找变数的 12/19 11:45
11F:→ TonyQ:时间,算是 performance finetune 为主的设计. 12/19 11:45
12F:→ TonyQ:当然 的确也有抽象化的效果啦 但一般不会这样用 12/19 11:46