jQuery的初始化与对象构建之浅析


Posted in Javascript onApril 12, 2011

小结一下:

1.整个类库定义在一匿名函数中,杜绝了全局变量的产生;
2.将undefined 作为缺失的参数传递,防止了undefined 变量的污染;
3.可以看出$(...) 实际上返回的是jQuery.fn.init 对象的实例,随后将该对象的prototype 指向了jQuery.prototype (语句jQuery.fn.init.prototype = jQuery.fn),因此产生的实例共享着jQuery.prototype 里的方法和属性且实现了链式编程的操作;
4.最后通过window.jQuery = window.$ = jQuery 将jQuery 与$ 导出为全局变量。

(function(window, undefined) { 
// Define a local copy of jQuery 
var jQuery = (function() { 
var jQuery = function(selector, context) { 
// The jQuery object is actually just the init constructor 'enhanced' 
return new jQuery.fn.init(selector, context/*, rootjQuery*/); 
}; 
// ... 
jQuery.fn = jQuery.prototype = { 
constructor : jQuery, 
init : function(selector, context, rootjQuery) { 
// ... 
} 
// ... 
}; 
// Give the init function the jQuery prototype for later instantiation 
jQuery.fn.init.prototype = jQuery.fn; 
// ... 
// Expose jQuery to the global object 
return jQuery; 
})(); 
// ... 
window.jQuery = window.$ = jQuery; 
})(window);
Javascript 相关文章推荐
利用404错误页面实现UrlRewrite的实现代码
Aug 20 Javascript
面向对象的Javascript之三(封装和信息隐藏)
Jan 27 Javascript
jquery 选择器引擎sizzle浅析
Feb 06 Javascript
jquery实现效果比较好的table选中行颜色
Mar 25 Javascript
jfreechart插件将数据展示成饼状图、柱状图和折线图
Apr 13 Javascript
javascript移动开发中touch触摸事件详解
Mar 18 Javascript
js中的DOM模拟购物车功能
Mar 22 Javascript
Bootstrap 模态框(Modal)带参数传值实例
Aug 20 Javascript
Vue中render方法的使用详解
Jan 26 Javascript
JSON基本语法及与JavaScript的异同实例分析
Jan 04 Javascript
layui的布局和表格的渲染以及动态生成表格的方法
Sep 18 Javascript
js实现拾色器插件(ColorPicker)
May 21 Javascript
避免回车键导致的页面无意义刷新的解决方法
Apr 12 #Javascript
基于jquery实现的上传图片及图片大小验证、图片预览效果代码
Apr 12 #Javascript
javascript实现上传图片并预览的效果实现代码
Apr 11 #Javascript
window.dialogArguments 使用说明
Apr 11 #Javascript
30个最佳jQuery Lightbox效果插件分享
Apr 11 #Javascript
基于jquery的仿百度搜索框效果代码
Apr 11 #Javascript
基于jquery的监控数据是否发生改变
Apr 11 #Javascript
You might like
php连接数据库代码应用分析
2011/05/29 PHP
PHP实现深度优先搜索算法(DFS,Depth First Search)详解
2017/09/16 PHP
PHP中使用jQuery+Ajax实现分页查询多功能操作(示例讲解)
2017/09/17 PHP
php+ajax实现文件切割上传功能示例
2020/03/03 PHP
基于jquery的地址栏射击游戏代码
2011/03/10 Javascript
JavaScript 放大镜 放大倍率和视窗尺寸
2011/05/09 Javascript
jquery表单验证使用插件formValidator
2012/11/10 Javascript
jQuery 计算iframe 窗口大小的方法
2014/05/13 Javascript
详解Node.js包的工程目录与NPM包管理器的使用
2016/02/16 Javascript
JavaScript中对JSON对象的基本操作示例
2016/05/21 Javascript
js简单判断flash是否加载完成的方法
2016/06/21 Javascript
jQuery File Upload文件上传插件使用详解
2016/12/06 Javascript
JS实现字符串转驼峰格式的方法
2016/12/16 Javascript
JavaScript利用闭包实现模块化
2017/01/13 Javascript
解决微信二次分享不显示摘要和图片的问题
2017/08/18 Javascript
vue2实现数据请求显示loading图
2017/11/28 Javascript
解决vue组件没显示,没起作用,没报错,但该显示的组件没显示问题
2020/09/02 Javascript
[43:48]Ti4正赛第一天 VG vs NEWBEE 2
2014/07/19 DOTA
[44:01]2018DOTA2亚洲邀请赛3月30日 小组赛B组 EG VS paiN
2018/03/31 DOTA
[54:29]2018DOTA2亚洲邀请赛 4.7 淘汰赛 VP vs LGD 第二场
2018/04/09 DOTA
对pandas的dataframe绘图并保存的实现方法
2017/08/05 Python
Python 结巴分词实现关键词抽取分析
2017/10/21 Python
Python使用修饰器进行异常日志记录操作示例
2019/03/19 Python
python实现复制文件到指定目录
2019/10/16 Python
使用Keras画神经网络准确性图教程
2020/06/15 Python
Canvas波浪花环的示例代码
2020/08/21 HTML / CSS
匡威帆布鞋美国官网:Converse美国
2016/08/22 全球购物
美国彩妆品牌:Coastal Scents
2017/04/01 全球购物
Kappa英国官方在线商店:服装和运动器材
2020/11/22 全球购物
字符串str除首尾字符外的其他字符按升序排列
2013/03/08 面试题
网络方面基础面试题
2012/11/16 面试题
小学教师师德师风演讲稿
2014/08/22 职场文书
党支部意见范文
2015/06/02 职场文书
写给同事的离职感言
2015/08/04 职场文书
新党员入党决心书
2015/09/22 职场文书
浅谈MySQL中的六种日志
2022/03/23 MySQL