草莓酱 2012-12-27
一、原型模式结构
代码如下:
// 定义一个jQuery构造函数 var jQuery = function() { }; // 扩展jQuery原型 jQuery.prototype = { };
代码如下:
var jq = new jQuery(); //变量jq通过new关键字实例化jQuery构造函数后就可以使用原型对象中的方法,但是jQuery并不是这么使用的
代码如下:
var jQuery = function() { // 返回选择器实例 return new jQuery.prototype.init(); }; jQuery.prototype = { // 选择器构造函数 init: function() { } };
代码如下:
var jQuery = function() { // 返回选择器实例 return new jQuery.prototype.init(); }; jQuery.prototype = { // 选择器构造函数 init: function() { }, // 原型方法 toArray: function() { }, get: function() { } }; // 共享原型 jQuery.prototype.init.prototype = jQuery.prototype;
代码如下:
jQuery.('.nav').toArray(); // 将结果集转换为数组
代码如下:
jQuery.prototype.init.prototype = jQuery.prototype; // 共享原型
代码如下:
(function(window, undefined) { var jQuery = function() { // 返回选择器实例 return new jQuery.prototype.init(); }; jQuery.prototype = { // 选择器构造函数 init: function() { }, //原型方法 toArray: function() { }, get: function() { } }; jQuery.prototype.init.prototype = jQuery.prototype; // 局部变量和函数在匿名函数执行完后撤销 var a, b, c; function fn() { } // 使jQuery成为全局变量 window.jQuery = window.$ = jQuery; })(window);