代码改变世界

深入浅出JavaScript(2)—ECMAScript

2012-07-22 10:12  javaspring  阅读(129)  评论(0编辑  收藏  举报

目录:

深入浅出JavaScript(1)—ECMAScript

深入浅出JavaScript(2)—ECMAScript

 

郑重向大家推荐我的Jquery.ajax系列文章,点击查看

 

这篇博客,我们继续分析ECMAScript基础,主要涉及语句,函数和运算符.这将有助于我们深入理解javascript原理

 

 

 一、语句

 

语句很简单,只要有语言就出的程序员都不会陌生,它和我们java等语言中的语句非常类似,其实就是衍生于我们的传统编程语言。

无非涉及三种结构:顺序,选择,循环。基本上任何问题,我们都可以利用这三种结构经过拆分组合来解决掉。

 

 

二、运算符

 

运算符与我们传统的编程语言也非常相似,废话不多说,看图

 

 

详细展开

 

 

其中几个需要明确的:

 

左移运算:它把数字中的所有数位向左移动指定的数量。例如,数字2等于二进制的10,左移5位,变为64,即100000

 

 var intTest=2;

 var intResult=intTest<<5

 

最后intResult==64;

 

 

对于AND运算

OR运算

 

 

 

三、函数

 

Js里,函数其实是一个功能完整的对象,都可以看做是function类的一个实例。

 

详细展开

 

其中有一点很有意思,即利用arguments对象模拟函数重载的方法:

 

用arguments对象判断传递给函数的参数个数,模拟重载。

 

例如:

function doAdd(){

If(arguments.length==1){

alert(arguments[0]+10);

 

}else if(arguments.length==2){

alert(arguments[0]+arguments[1]);

}

 

}

 

doAdd(10);             //输出20

doAdd(30,20);          //输出50

 

 

function类

 

 

 

闭包:

 

闭包:

 

当内部函数在定义它的作用域的外部被引用时,就创建了该内部函数的闭包,如果内部函数引用了位于外部函数的变量,当外部函数调用完毕后,这些变量在内存不会被释放,因为闭包需要它们.

 

简单看这两句话可能不好理解,我在网上找了两篇文章,感觉写得不错,如果让我整理也不见得比他们整理得好,推荐给大家。

 

http://www.jb51.net/article/24101.htm

http://www.cnblogs.com/rubylouvre/archive/2009/07/24/1530074.html

 

 

 

总结:

 

今天主要写了关于javascript核心ECMAScript的基础知识,包括语句,运算符和函数。其中,语句和运算符和java非常相似,对于有语言基础的人来说非常简单。而函数,javascript中的函数为对象,可以看做是function类的实例,注意同名函数不会报错,后者覆盖前者,其中还提到模拟函数重载的方法和一些注意点。

 

ECMAScript的基础知识大概就这些,了解这些有助于我们深入理解javascript原理。

下次将会写javascript对象的相关东西,谢谢关注。