豆瓣
扫码直接下载
( function(){ ...... } )(); 这样的写法有什么用?为什么不直接运行函数内部的语句(就是点点点)?
这叫闭包,这样写的代码会在加载后调用一次,但是在外部就访问不到这个函数了。作用是隔离,使得该代码与其他代码不会互相影响,也避免了其他代码调用它而作恶。更多细节可以参见闭包。
不写函数,把函数的内容运行一遍不也一样吗?
不一样,不写函数等于把变量全部暴露成全局的了,对别处可能会有意外影响
哦,就是封装变量的作用啊。谢谢。
封闭空间,主要作用解决变量名冲突
自运行匿名函数,在这个函数体内通过 var 定义的变量作用域只在这个函数内有作用,不污染全局命名空间。另外,函数会在加载的时候运行一遍, jQuery 整个就是一个自运行匿名函数。
这个不叫做闭包,一楼小心误导,楼上的是正解。自运行匿名函数。
在这里发现跟你一样特别的人,并与之交流...