论坛首页 入门技术论坛

之前没看懂的js代码,今天看懂了

浏览 15178 次
该帖已经被评为新手帖
作者 正文
   发表时间:2011-06-16   最后修改:2011-06-22
寓尔看过几眼jQuery插件的代码,发现这样的代码很是希奇:
(function($){

   js code...

})(jQuery);

从未深究,今天突然想明白了。

实际上,上边的代码就是一个js函数调用。

以下这部份

(function($){

   js code...

})

相当于是函数;

(jQuery) 则是函数调用时的参数列表。

以上代码等价于如下代码:

function test($){

   js code...

}

test(jQuery);


新手的盛宴!
   发表时间:2011-06-16  
呵呵,顿悟!!
0 请登录后投票
   发表时间:2011-06-17  
看懂了就好,
虽然简单,也是一种分享,
相信能帮到人
0 请登录后投票
   发表时间:2011-06-17  
我是jQuery初学者,对我还是有很大帮助的
0 请登录后投票
   发表时间:2011-06-17  
新手受教了,帮助很大
0 请登录后投票
   发表时间:2011-06-17  
immediate function
小例子:
(function () {
alert('watch out!');
}());
0 请登录后投票
   发表时间:2011-06-17  
路过,恭喜
另推荐O'Reilly出版的JavaScript: The Definitive Guide
手册性质的书籍,不过应该对你有帮助。
0 请登录后投票
   发表时间:2011-06-17  
首先看jQ 的调用方式 $().jquery

$是jquery的别名,jquery 是一个函数,并且返回一个对象

$=jQuery=function(){
     return new jQuery.fn.init();
}

jQuery.fn=jQuery.prototype={
     init:function(){
          return this;
     },
     jquery:"1.3",
     size:function(){
          return this.length;
     },
     map:
     css:
     .....
}

jQuery.fn.init.prototype=jQuery.fn;//这是亮点

jQuery.extend=jQuery.fn.extend=function(){
}
0 请登录后投票
   发表时间:2011-06-17  
请问

如下代码的含义是啥啊?为啥要加undefined呢?

(function($, undefined){
   js code...
})(jQuery);
0 请登录后投票
   发表时间:2011-06-17   最后修改:2011-06-17
wangqingkeyi 写道
首先看jQ 的调用方式 $().jquery

$是jquery的别名,jquery 是一个函数,并且返回一个对象

$=jQuery=function(){
     return new jQuery.fn.init();
}

jQuery.fn=jQuery.prototype={
     init:function(){
          return this;
     },
     jquery:"1.3",
     size:function(){
          return this.length;
     },
     map:
     css:
     .....
}

jQuery.fn.init.prototype=jQuery.fn;//这是亮点

jQuery.extend=jQuery.fn.extend=function(){
}


能不能说的详细一些。jquery有大写的和小写的,看不明白你是不是指的一个东西。

亮点? 亮在哪里能不能说一下呀?



0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics