1.jQuery插件是什么
jQuery不是万能的,在开发中会遇到不能实现的功能,这时候就需要jQuery插件对jQuery进行扩展,添加一些其他方法。
2.如何制作一个jQuery插件
2.1原型
在制作之前先要弄明白的是原型,看一个例子
例:
var arr = new Array
console.log(arr)
拿浏览器打开看控制台
可以看到数组的所有的方法都放到数组原型里了也就是propotype,但是为什么这些方法不是储存在对象里呢。因为,存在对象例太占内存了,以数组为例,每个数组都有这么多方法,一个程序例如果有很多个数座就会占有太大内存,所以方法都放在数组的对象原型里了,每个数组对象都能用原型里的方法了,这个就是原型。
2.2如何给原型添加方法
例子:
Array.prototype.sayHi = function(){
console.log("hello world");
}
var arr = new Array;
arr.sayHi();
可以看到规则是.propotype.方法名=后面接方法 (propotyp就是原型的意思)
然后就创建成功了。就可以调用了。
2.3如何给jQuery原型添加方法
如上所示,给jQuery原型添加加方法同样如此
jQuery.propotype.sayHi =function(){
console.log("hello world");
}
有没有简单的方法呢?是有的。jQuery其实就是$ 所以可以把jQuery换成 $
还有没有更简单的方法呢?还是有的。我们打开jQuery会发现jQuery真的是个贴心的暖男。
jQuery.propotype又赋值给了jQuery.fn,所以我们又可以把prototype改成fn所以最最最最简单的版本出现了
$(document).ready(function(){
$.fn.sayHi =function(){
console.log("hello world");
}
})
到这里还有一个问题,就是链式变成会出问题,没有返回值。所以要加上返回值
$(document).ready(function(){
$.fn.sayHi =function(){
console.log("hello world");
return this;
}
})
最后保存成js文件,在要用的项目中调用就好,这里要注意要先调用jQuery,再调用插件,因为那个插件是基于jQuery原型的