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 相关文章推荐
js性能优化 如何更快速加载你的JavaScript页面
Mar 17 Javascript
CSS(js)限制页面显示的文本字符长度
Dec 27 Javascript
JS遍历Json字符串中键值对先转成JSON对象再遍历
Aug 15 Javascript
node.js中的fs.futimes方法使用说明
Dec 17 Javascript
深入浅析AngularJS中的module(模块)
Jan 04 Javascript
深入理解node exports和module.exports区别
Jun 01 Javascript
vue分页组件table-pagebar使用实例解析
Nov 15 Javascript
jQuery实现键盘回车搜索功能
Jul 25 jQuery
JavaScript创建对象的常用方式总结
Aug 10 Javascript
微信小程序授权登陆及每次检查是否授权实例代码
Sep 18 Javascript
vue-resource:jsonp请求百度搜索的接口示例
Nov 09 Javascript
vue实现自定义多选按钮
Jul 16 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 smarty模版引擎中变量操作符及使用方法
2009/12/11 PHP
PHP开发不能违背的安全规则 过滤用户输入
2011/05/01 PHP
php 阴历-农历-转换类代码
2012/01/16 PHP
php+mysql数据库查询实例
2015/01/21 PHP
PHP类相关知识点实例总结
2016/09/28 PHP
laravel自定义分页效果
2017/07/23 PHP
PHP设计模式之模板方法模式定义与用法详解
2018/04/02 PHP
详解关于php的xdebug配置(编辑器vscode)
2019/01/29 PHP
Laravel 手动开关 Eloquent 修改器的操作方法
2019/12/30 PHP
Laravel 框架控制器 Controller原理与用法实例分析
2020/04/14 PHP
JavaScript DOM 添加事件
2009/02/14 Javascript
Mootools 1.2教程 滚动条(Slider)
2009/09/15 Javascript
Ext对基本类型的扩展 ext,extjs,format
2010/12/25 Javascript
IE6/7/8/9不支持exec的简写方式
2011/05/25 Javascript
js的image onload事件使用遇到的问题
2014/07/15 Javascript
jQuery表格行上移下移和置顶的实现方法
2015/10/08 Javascript
基于JavaScript实现根据手机定位获取当前具体位置(X省X市X县X街道X号)
2015/12/29 Javascript
JavaScript使ifram跨域相互访问及与PHP通信的实例
2016/03/03 Javascript
node.js使用cluster实现多进程
2016/03/17 Javascript
jQuery焦点图左右转换效果
2016/12/12 Javascript
Bootstrap表格制作代码
2017/03/17 Javascript
Javascript中click与blur事件的顺序详析
2017/04/25 Javascript
React中常见的动画实现的几种方式
2018/01/10 Javascript
微信小程序搭建自己的Https服务器
2019/05/02 Javascript
使用localStorage替代cookie做本地存储
2019/09/25 Javascript
[02:00]DOTA2英雄COSPLAY闹市街头巡游助威2015国际邀请赛
2015/08/02 DOTA
Python常见格式化字符串方法小结【百分号与format方法】
2016/09/18 Python
Python实现自动访问网页的例子
2020/02/21 Python
CSS3中文字镂空、透明值、阴影效果设置示例小结
2016/03/07 HTML / CSS
Silk’n激光脱毛器官网:silkn.com
2016/10/06 全球购物
美国购买体育赛事门票网站:TicketCity
2019/03/06 全球购物
Ariat英国官网:为世界顶级马术运动员制造最优质的鞋类和服装
2020/02/14 全球购物
航海技术专业毕业生求职信
2014/04/06 职场文书
新颖的化妆品活动方案
2014/08/21 职场文书
司法工作人员群众路线对照检查材料思想汇报
2014/09/30 职场文书
计算机专业自荐信范文
2015/03/26 职场文书