锁定老帖子 主题:之前没看懂的js代码,今天看懂了
该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2011-06-19
总算明白了
|
|
返回顶楼 | |
发表时间:2011-06-19
窗户纸后面的东西很简单,但是捅破这层窗户纸还是需要一点特殊的东西,非常感谢lz的分析精神,受教啦
|
|
返回顶楼 | |
发表时间:2011-06-19
原来这样,事实上这是js的一种方法调用方式,并不是jquery特有的。
|
|
返回顶楼 | |
发表时间:2011-06-20
不就是一个闭包么..看下js基础就懂了
|
|
返回顶楼 | |
发表时间:2011-06-20
guilipan 写道 不就是一个闭包么..看下js基础就懂了 这个是“匿名函数立即执行”,和闭包毫无关系吧,虽然闭包中经常用这种执行方法…… |
|
返回顶楼 | |
发表时间:2011-06-20
准确地说()是个函数调用运算符..
|
|
返回顶楼 | |
发表时间:2011-06-20
看懂了有什么用。关键是要搞懂为什么要这么蛋疼地定义。
|
|
返回顶楼 | |
发表时间:2011-06-20
因为javascript没有块作用域,只有函数作用域。。。
|
|
返回顶楼 | |
发表时间:2011-06-20
参数隔断。防止污染。
|
|
返回顶楼 | |
发表时间:2011-06-20
rainsilence 写道 JavaStudyEye 写道 请问
如下代码的含义是啥啊?为啥要加undefined呢? (function($, undefined){ js code... })(jQuery); 你看调用的时候只有一个参数对挖,第二个参数等于轮空了。这个参数就是未定义。但是老式的浏览器不存在undefined这个常量或者var undefined在函数前被定义了,造成了代码污染。所以放在这里等于用浏览器的特性来定义了一个常量。 function test(a) { alert(a); } test(); 看看这个打印出来什么? ![]() |
|
返回顶楼 | |