Jquery源码中的Javascript基础知识(一)
2014-12-01 14:37
316 查看
jquery源码中涉及了大量原生js中的知识和概念,文章是我在学习两者的过程中进行的整理和总结,有不对的地方欢迎大家指正。
本文使用的jq版本为2.0.3,附上压缩和未压缩版本地址:
http://ajax.aspnetcdn.com/ajax/jQuery/jquery-2.0.3.js
http://ajax.aspnetcdn.com/ajax/jQuery/jquery-2.0.3.min.js
查看源码可以发现整体结构是这样:
要理解这种写法,需要了解js中定义函数有两种方式:
1.函数声明
2.函数表达式
这种方式定义的函数也叫匿名函数(没有函数名),可以看作是将一个函数表达式赋值给一个变量。
定义好函数后调用它:
到这里我们对照源码可以发现,functionName被其对应的值(表达式)替换后,即为:
这句代码的意思就是定义了一个匿名函数并立即执行了它。
再看一个例子帮助理解,在给函数传参的时候
参数可以传变量或者直接传值(表达式),同理,函数名也可以被替换为其对应的值(函数表达式)。
好了,第一篇就写到这里,有空再继续往下总结。
本文使用的jq版本为2.0.3,附上压缩和未压缩版本地址:
http://ajax.aspnetcdn.com/ajax/jQuery/jquery-2.0.3.js
http://ajax.aspnetcdn.com/ajax/jQuery/jquery-2.0.3.min.js
查看源码可以发现整体结构是这样:
(function( window, undefined ) { // code })( window );
要理解这种写法,需要了解js中定义函数有两种方式:
1.函数声明
function functionName(){ // code }
2.函数表达式
var functionName = function(){ // code }
这种方式定义的函数也叫匿名函数(没有函数名),可以看作是将一个函数表达式赋值给一个变量。
定义好函数后调用它:
functionName();
到这里我们对照源码可以发现,functionName被其对应的值(表达式)替换后,即为:
(function(){})(); //不加括号会报错
这句代码的意思就是定义了一个匿名函数并立即执行了它。
再看一个例子帮助理解,在给函数传参的时候
var num = 1; functionName(num); functionName(1);
参数可以传变量或者直接传值(表达式),同理,函数名也可以被替换为其对应的值(函数表达式)。
好了,第一篇就写到这里,有空再继续往下总结。
相关文章推荐
- Jquery源码中的Javascript基础知识(四)— jQuery.fn.init方法
- Jquery源码中的Javascript基础知识(三)
- 源码-JavaScript&jQuery交互式前端开发-第1章-编程基础知识
- Jquery源码中的Javascript基础知识(二)
- jquery2.0.3动画(animate)源码解读与javascript基本知识学习一
- Web_JavaScript_JQuery_JQuery基础知识;
- 锋利的JQuery----JavaScript基础知识(二)
- 源码-JavaScript&jQuery交互式前端开发-第2章-JavaScript基础指令-使用变量来存储字符串
- 源码-JavaScript&jQuery交互式前端开发-第2章-JavaScript基础指令-使用变量来存储布尔值
- Javascript基础知识二:JQuery
- javascript与jquery基础知识积累
- javascript快速入门第三章jquery基础知识
- jQuery源码的基础知识
- 锋利的JQuery----JavaScript基础知识(一)
- jquery 的基础知识,以及和Javascript的区别
- 源码-JavaScript&jQuery交互式前端开发-第2章-JavaScript基础指令-在字符串中使用引号
- 源码-JavaScript&jQuery交互式前端开发-第2章-JavaScript基础指令-章节示例
- jQuery源码分析-10事件处理-Event-概述和基础知识
- javascript和jquery的一些基础知识
- 源码-JavaScript&jQuery交互式前端开发-第2章-JavaScript基础指令-使用变量来存储数字