标签:
虽然JavaScript没有类的概念,但可以理解jQuery相当于JavaScript中的一个类,而$.extend则是在jQuery类中添加了一个静态方法。
静态方法是使用公共内存空间的,就是说所有对象都可以直接引用,不需要创建对象再使用该方法。
$.extend({ add: function(a, b){return (a+b);}; subtract: function(a, b){return (a-b);}; }) //可以直接使用新添加的jQuery方法 console.log($.add(3,4)); // 7
然而$.fn.extend呢?
让我们先了解一下什么是fn:$.fn就相当于jQuery.prototype,那么$.fn.prototype就相当于prototype进行扩展,为jQuery添加一个成员函数。要引用到这个函数,必须新建一个jQuery对象。这种为jQuery添加成员函数的方法经常使用在插件的开发中,如下面例子:
$.fn.extend({ hidden: function(){ $(this).style.display = "none" ; }; }); $("#hide_this").hidden(); //$("")就是一个jQuery对象,调用它的hidden方法,可以使该元素被隐藏。
标签:
原文地址:http://www.cnblogs.com/timl525/p/4479747.html