十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
一样的,官方解释是jquery.fn是jquery.prototype的别名,是为了代码简洁的考虑。
创新互联-专业网站定制、快速模板网站建设、高性价比万秀网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式万秀网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖万秀地区。费用合理售后完善,10多年实体公司更值得信赖。
$.fn是指jquery的命名空间,加上fn上的方法及属性,会对jquery实例每一个有效。
如扩展$.fn.abc(),即$.fn.abc()是对jquery扩展了一个abc方法,那么后面你的每一个jquery实例都可以引用这个方法了.
那么你可以这样子:$("#div").abc();
$.fx是指jquery的特效。
如果使用显示、滑动、淡入淡出、动画等。
这个是jquery插件的形式,举个例子:
div id="myDiv"/div
(function($){
$.fn.extend({
test:function(){
alert($(this).attr('id'));
}
})
})(jQuery)
$('#myDiv').test();
打印出 : myDiv
(function($){
$.extend({
test:function(){
alert('111');
}
})
})(jQuery)
$.test();
打印出:111
前者是绑定在页面元素上的插件,后者是 绑定在jquery上的插件。
下面这两段是jQuery里面,你想了解的最核心部分
1
2
3
4
5
6
7
8
9
10
11
12
jQuery = window.jQuery = window.$ = function (x, y)
{
return new jQuery.fn.init(x, y);
};
jQuery.fn = jQuery.prototype =
{
init: function()
{
// some logic for object initialization
return this;
}
};
从这段代码我们可以看出:
jQuery()实际上就是jQuery.fn.init()
jQuery.fn和jQuery.prototype一样,实际上就是一个jQuery对象的一个原型的定义
这两段代码的作用实际上就是要让用户使用jQuery()或者$.jQuery()的时候,就完成对jQuery对象的初始化,不需要在动态的去调用init方法