JS学习---ECMAScript对象
JS学习---ECMAScript对象
2010年11月25日
javascript学习2010-11-25 15:46:26阅读3评论0 字号:大中小 订阅 一 ECMAScript对象类型
在ECMAScript中,可以创建并使用的对象有三种:本地对象,内置对象,宿主对象.
1本地对象(native object):就是 ECMA-262 定义的类(引用类型).我们知道引用类型就是类,遇到引用值就是要处理对象.从传统意义上来说,ECMAScript 并不真正具有类。包括:
Object
Function
Array String Boolean Number Date RegExp
Error
EvalError
RangeError
ReferenceError
SyntaxError
TypeError
URIError
2 内置对象(built-in object)
意味着开发者不必明确实例化内置对象,它已被实例化了。ECMA-262 只定义了两个内置对象,即 Global 和 Math (它们也是本地对象,根据定义,每个内置对象都是本地对象)。
3 宿主对象(host object)
所有 BOM 和 DOM 对象都是宿主对象。
二 ECMAScript对象作用域
ECMAScirpt只有公有作用域.
ECMAScript没有静态作用域.
This的作用类似与JAVA.
三 对象引用
在 ECMAScript 中,不能访问对象的物理表示,只能访问对象的引用。每次创建对象,存储在变量中的都是该对象的引用,而不是对象本身。
四 对象废除
ECMAScript 拥有无用存储单元收集程序(garbage collection routine),意味着不必专门销毁对象来释放内存。当再没有对对象的引用时,称该对象被废除(dereference)了。运行无用存储单元收集程序时,所有废除的对象都被销毁。每当函数执行完它的代码,无用存储单元收集程序都会运行,释放所有的局部变量,还有在一些其他不可预知的情况下,无用存储单元收集程序也会运行。
把对象的所有引用都设置为 null,可以强制性地废除对象。例如: var oObject = new Object; // do something with the object here oObject = null;
当变量 oObject 设置为 null 后,对第一个创建的对象的引用就不存在了。这意味着下次运行无用存储单元收集程序时,该对象将被销毁。