4.1 基本类型和引用类型的值 primitive and reference values
4.1.1 动态的属性 dynamic properties
4.1.2 复制变量值 copying values
4.1.3 传递参数 argument passing
function setName(obj) { obj.name = "Nicholas"; obj = new Object(); obj.name = "Greg"; } var person = {}; setName(person); alert(person.name); //"Nicholas"
当在函数内部重写obj时,这个变量引用的就是一个局部对象了。而这个局部对象会在函数执行完毕后立即被销毁。可以把ECMAScript函数的参数想象成局部变量。
4.1.4 检测类型 determining type
4.2 执行环境及作用域 execution context and scope
var color = "blue"; function changeColor(){ var anotherColor = "red"; function swapColors(){ var tempColor = anotherColor; anotherColor = color; color = tempColor; } swapColors(); } changeColor();
上面执行了什么?下次再好好想想哦,反正2015/05/11木有想起来
4.2.1 延长作用域链 scope chain augmentation
4.2.2 没有块级作用域 no block level scopes
4.3 垃圾收集 garbage collection
4.3.1 标记清除 mark-and-sweep
4.3.2 引用计数 reference counting
4.3.3 性能问题 performance
4.3.4 管理内存 managing memory