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 相关文章推荐
发布BlueShow v1.0 图片浏览器(类似lightbox)blueshow.js 打包下载
Jul 21 Javascript
使用Js让Html中特殊字符不被转义
Nov 05 Javascript
Javascript模块化编程详解
Dec 01 Javascript
浅谈javascript 函数内部属性
Jan 21 Javascript
jquery解析json格式数据的方法(对象、字符串)
Nov 24 Javascript
Jquery uploadify 多余的Get请求(404错误)的解决方法
Jan 26 Javascript
JavaScript纯色二维码变成彩色二维码
Jul 23 Javascript
微信小程序 选项卡的简单实例
May 24 Javascript
React-Native做一个文本输入框组件的实现代码
Aug 10 Javascript
JS实现页面内跳转的简单代码
Sep 03 Javascript
JS中封装axios来管控api的2种方式
Sep 11 Javascript
JS co 函数库的含义和用法实例总结
Apr 08 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 创建标签云函数代码
2010/05/26 PHP
php中XMLHttpRequest(Ajax)不能设置自定义的Referer的解决方法
2011/11/26 PHP
PHP把JPEG图片转换成Progressive JPEG的方法
2014/06/30 PHP
js的写法基础分析
2011/01/17 Javascript
JS连连看源码完美注释版(推荐)
2013/12/09 Javascript
jquery下div 的resize事件示例代码
2014/03/09 Javascript
js设置cookie过期当前时间减去一秒相当于立即过期
2014/09/04 Javascript
动态创建按钮的JavaScript代码
2016/01/29 Javascript
浅谈js图片前端预览之filereader和window.URL.createObjectURL
2016/06/30 Javascript
jQuery EasyUi 验证功能实例解析
2017/01/06 Javascript
移动端基础事件总结与应用
2017/01/12 Javascript
form表单数据封装成json格式并提交给服务器的实现方法
2017/12/14 Javascript
vue+springboot前后端分离实现单点登录跨域问题解决方法
2018/01/30 Javascript
详解Vue中使用Axios拦截器
2019/04/22 Javascript
基于Proxy的小程序状态管理实现
2019/06/14 Javascript
vue.js 2.0实现简单分页效果
2019/07/29 Javascript
微信小程序自定义modal弹窗组件的方法详解
2020/12/20 Javascript
在Python中使用判断语句和循环的教程
2015/04/25 Python
在Python的while循环中使用else以及循环嵌套的用法
2015/10/14 Python
浅谈python print(xx, flush = True) 全网最清晰的解释
2020/02/21 Python
pygame实现弹球游戏
2020/04/14 Python
Python中关于logging模块的学习笔记
2020/06/03 Python
python中watchdog文件监控与检测上传功能
2020/10/30 Python
深入理解Python变量的数据类型和存储
2021/02/01 Python
购买美国制造的相框和画框架:Picture Frames
2018/08/14 全球购物
日本高岛屋百货购物网站:TAKASHIMAYA
2019/03/24 全球购物
电子商务专业个人的自我评价分享
2013/10/29 职场文书
初二政治教学反思
2014/01/12 职场文书
大学生村官事迹材料
2014/01/21 职场文书
秋季运动会广播稿大全
2014/02/17 职场文书
安全生产大检查方案
2014/05/07 职场文书
三方股东合作协议书范本
2014/09/28 职场文书
给病人的慰问信
2015/03/23 职场文书
浅谈mysql执行过程以及顺序
2021/05/12 MySQL
Win11自动黑屏怎么办 Win11自动黑屏设置教程
2022/07/15 数码科技
React更新渲染原理深入分析
2022/12/24 Javascript