jquery代码:
分析:
第一个括号里面是个匿名函数,第二个括号表示马上执行第一个括号里面的代码。
这种形式在javascript中又叫自调用函数(self-invoking-function)。
所有的jquery代码都放在该匿名函数里,避免了命名冲突。
扩展:
1) 自调用函数与单件对象(Singleton object)设计模式对比
单件对象的代码形式:
Divo 对象中 init 函数一直存在,显然会占用内存。
当然,你也可以在执行 Divo.init() 后,做 delete Divo.init。
但:
因为在整个应用程序生命周期中, init 函数只需要执行一次,所以自调用函数是最简洁的一种写法。
2)命名空间
javascript里面是没有命名空间的,要保证你的javascript函数、对象与其他的不冲突,你的所有javascript函数、对象都在一个匿名函数里面定义,确保了所定义的函数、对象的有效范围,起到了命名空间的作用。
3)匿名函数模式:
http://www.hedgerwow.com/360/dhtml/js-anonymous-function-patterns.html
非匿名函数的类似写法如下