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 相关文章推荐
JavaScript 给汉字排序实例代码
Jun 28 Javascript
jQuery分别获取选中的复选框值的示例
Jun 17 Javascript
node.js中的fs.fsync方法使用说明
Dec 15 Javascript
WebGL利用FBO完成立方体贴图效果完整实例(附demo源码下载)
Jan 26 Javascript
Bootstrap表单组件教程详解
Apr 26 Javascript
javascript对象的相关操作小结
May 16 Javascript
教你5分钟学会用requirejs(必看篇)
Jul 25 Javascript
关于Vue实现组件信息的缓存问题
Aug 23 Javascript
Angularjs中date过滤器失效的问题及解决方法
Jul 06 Javascript
记录一篇关于redux-saga的基本使用过程
Aug 18 Javascript
JS错误处理与调试操作实例分析
Apr 13 Javascript
javascript函数式编程基础
Sep 15 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
桌面中心(二)数据库写入
2006/10/09 PHP
jQuery 锚点跳转滚动条平滑滚动一句话代码
2010/04/30 Javascript
利用NodeJS的子进程(child_process)调用系统命令的方法分享
2013/06/05 NodeJs
js操作iframe的一些方法介绍
2013/06/25 Javascript
javascript生成随机颜色示例代码
2014/05/05 Javascript
一个仿糯米弹框效果demo
2014/07/22 Javascript
轻松创建nodejs服务器(5):事件处理程序
2014/12/18 NodeJs
60行js代码实现俄罗斯方块
2015/03/31 Javascript
javascript+ajax实现产品页面加载信息
2015/07/09 Javascript
理解javascript中的严格模式
2016/02/01 Javascript
一道常被人轻视的web前端常见面试题(JS)
2016/02/15 Javascript
JavaScript高级程序设计(第三版)学习笔记1~5章
2016/03/11 Javascript
javascript HTML5 Canvas实现圆盘抽奖功能
2016/04/11 Javascript
jQuery删除节点用法示例(remove方法)
2016/09/08 Javascript
详解JavaScript的内置对象
2016/12/07 Javascript
jQuey将序列化对象在前台显示地实现代码(方法总结)
2016/12/13 Javascript
JS敏感词过滤代码
2016/12/23 Javascript
BootStrap Table后台分页时前台删除最后一页所有数据refresh刷新后无数据问题
2016/12/28 Javascript
详解各版本React路由的跳转的方法
2018/05/10 Javascript
vue如何实现自定义底部菜单栏
2019/07/01 Javascript
修改layui的后台模板的左侧导航栏可以伸缩的方法
2019/09/10 Javascript
Element Badge标记的使用方法
2020/07/27 Javascript
简单解析Django框架中的表单验证
2015/07/17 Python
python爬虫正则表达式之处理换行符
2018/06/08 Python
Django1.11自带分页器paginator的使用方法
2019/10/31 Python
浅谈Python type的使用
2019/11/19 Python
修改Pandas的行或列的名字(重命名)
2019/12/18 Python
解决Python中报错TypeError: must be str, not bytes问题
2020/04/07 Python
解决Keras TensorFlow 混编中 trainable=False设置无效问题
2020/06/28 Python
微软马来西亚官方网站:Microsoft马来西亚
2019/11/22 全球购物
美国名牌香水折扣网站:Hottperfume
2021/02/10 全球购物
爱护公共设施标语
2014/06/24 职场文书
群众路线批评与自我批评发言稿
2014/10/16 职场文书
全民创业工作总结
2015/08/13 职场文书
周一给客户的问候语
2015/11/10 职场文书
详解Spring Boot使用系统参数表提升系统的灵活性
2021/06/30 Java/Android