jquery源码学习-初始(1)
2014-08-16 14:50
218 查看
最近几天一直在研究jquery源码,由于水平太低看得昏头转向。本来理解的也不是很深刻,下面就用自己的想法来说下jquery是如何定义构造函数初始化的。如果有什么不对的地方,希望个位高手指出。
首先要了解下什么时候自执行匿名函数 ,它的用途就是 相当于创建一个命名空间,只要把自己所有的代码写在这个特殊的函数包装内,外部不能访问,除非你允许。
尼玛那要怎么访问啊?
其实我们可以把这个$函数挂载到一个全局变量上
jQuery其实还加上了2个参数
首先要了解下什么时候自执行匿名函数 ,它的用途就是 相当于创建一个命名空间,只要把自己所有的代码写在这个特殊的函数包装内,外部不能访问,除非你允许。
基本格式 (function(){ //代码 })();
(function(){ var a = 10; function $(){ alert(a); } })(); $(); // 靠居然报错,因为$方法为局部变量,外部是无法访问。
尼玛那要怎么访问啊?
其实我们可以把这个$函数挂载到一个全局变量上
(function(){ var a = 10; function $(){ alert(a); } //对外接口,把$挂载到window下 window.$ = $; })(); $(); //果断打印出10
jQuery其实还加上了2个参数
(function(window, undefined){ console.log(window); })(window); 第一个参数为window对象。 1.其实主要是为了优化作用域查找速度。 如果不传window参数,自执行匿名函数内使用window对象,此作用域并没有找到window对象,所以会向上一层作用域查找(即全局)。 2.然后可以传参数可以改名字,详见压缩版jQuery库。 第二个参数为undefined。 1.传这个参数主要是有些低版本浏览器undefined可以修改 var undefined = 10; alert(undefined); ie7,8下弹出10,其他浏览器弹出10,所以传个undefined参数,防止找到作用域外可能被改过的undefined 2.与window参数同理
相关文章推荐
- jQuery1.3.2 源码学习 -2 两个重要的正则表达式
- jQuery源码学习笔记四
- jQuery1.3.2 源码学习-8 index 函数
- jQuery1.4源码学习五
- jQuery1.4源码学习四
- jquery2.6 源码学习
- 查看源码的工具 学习jQuery源码不错的工具
- jQuery1.3.2 源码学习-6 size 和 get 函数
- jQuery1.3.2 源码学习-5 jQuery 中的原型
- jQuery插件xmlDOM源码学习
- jQuery源码学习笔记一(转)
- jQuery源码学习笔记八
- jQuery源码学习笔记一
- jQuery1.3.2 源码学习-7 setArray,each 函数
- jQuery 入门级学习笔记及源码
- 好的后台源码和jQuery学习组
- jQuery源码学习笔记五(转)
- jQuery源码学习笔记十(改)
- jQuery1.4源码学习二
- 学习jQuery源码,你准备好了吗?