摘要:
最近看了下JavaScript方面的几本书,把里面的一些核心概念按照自己的理解做个总结。 JavaScript中有Scope(作用域),Scope chain(作用域链),Execute context(执行上下文),Active Object (活动对象),Dynamic Scope(动态作用域),Closure(闭包)这些概念,要理解这些概念,我们从静态和动态两个方面去分析一下。 首先我们写一个简单的function来做一个例子: function add(num1, num2){ var sum = num1 + num2; return sum; } ... 阅读全文
摘要:
问题的提出 首先看一个例子: var name = 'laruence';function echo() {alert(name);var name = 'eve';alert(name);alert(age);}echo(); 运行结果是什么呢? 上面的问题, 我相信会有很多人会认为是: laruenceeve[脚本出错] 因为会以为在echo中, 第一次alert的时候, 会取到全局变量name的值, 而第二次值被局部变量name覆盖, 所以第二次alert是’eve’. 而age属性没有定义, 所以脚本会出错. 但其实, 运行结果应该是: undefine 阅读全文