日期:2014-05-16  浏览次数:20287 次

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 后,对第一个创建的对象的引用就不存在了。这意味着下次运行无用存储单元收集程序时,该对象将被销毁。