posts - 82, comments - 269, trackbacks - 0, articles - 1
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

jQuery笔记-插件开发小技巧

Posted on 2008-02-18 19:47 itspy 阅读(4071) 评论(2)  编辑  收藏 所属分类: AJAX
jQuery官方文档上推荐开发插件时要按下面格式来写,我第一次看源代码时看到这样的写法,被郁闷了好半天。

(function($) {
// Code goes here
})(jQuery);

下面将记录为什么这样写,这样写具体有哪些好处。
 
其实上面这种方式等价于下面这种定义方式, 不过上面的方式更安全.与JAVA里面的隐藏类有点类似,这样定义之后,很大程序上毕免了第三方的误操作,从而破坏封装性。
 
上面的代码等价于下面的代码,我想这样写大家都能看明白了吧。
var jQueryFucntion=function($) {
// Code goes here
//本文首发于 http://b.xfuse.cn

jQueryFucntion(jQuery);
 

 
 
 
(function($) {
// Code goes here
})
上面定义了一个jQuery函数,形参是$
 
 
(function($) {
// Code goes here
})(jQuery);
这个就是调用之前定义的函数,然后把jQuery这个实参传递进去.
 
 
这样的好处是,我们在写jQuery插件时,也可以使用$这个别名,而不会与prototype引起冲突.
 
如果不通过上面这种方式定义,而end-use又使用了prototype, 那么就会形成无法调和的矛盾了.
 
 
 
 

评论

# re: jQuery笔记-插件开发小技巧  回复  更多评论   

2008-10-24 14:27 by zjxnew
“这样的好处是,我们在写jQuery插件时,也可以使用$这个别名,而不会与prototype引起冲突.”
......
有误导嫌疑

# re: jQuery笔记-插件开发小技巧[未登录]  回复  更多评论   

2009-06-04 21:59 by snow
对!其实jQuery原作者在写源码的时候已经考虑到这个问题了.通过调用jQuery里的一个方法可以接触这种冲突.

只有注册用户登录后才能发表评论。


网站导航: