Javascript里面的一些有趣现象

在结合angularJS进行编程的时候,我们会发现很多有意思的现象,这里想讨论一下这些现象背后的原理:

1. scope -> online/view

 搜索到一篇文章关于作用域链http://www.cnblogs.com/TomXu/archive/2012/01/18/2312463.html。让我的感觉就是利用这个作用域链来当作堆栈使用。

 

2. 闭包, 来看一个简单的例子:

var a = 1;

function one() {

console.log(a);

var a = 2; //将变量a 在该当前栈替换为该位置的a, 所有上面使用a时为未定义,后面输出a, 当该堆栈调用结束后,撤销此空间。(此处和C++/C#有区别,强类型不能重复定义相同变量,但Javascript可以,而且使用变量栈的最后一个可用值。)

console.log(a);

} console.log(a);

对比:

var a = 1;
function one() {
 
console.log(a);

a = 2;
console.log(a);
}
console.log(a);

 

 

3. 异步函数

posted @ 2015-11-10 11:04  Byron12345  阅读(165)  评论(0编辑  收藏  举报