声明和实例化
创建 Object 实例的方式有两种:
创建自定义对象的最简单方式就是创建一个 Object 实例, 然后为它添加属性和方法, 如下:
- // 创建一个新的 Object 对象, 存放在'person'变量中
- var person = new Object();
- // 给此对象设置一些属性
- person.name = "Nicholas";
- person.age = 29;
- person.job = "Software Engineer";
- person.sayName = function(){ alert(this.name);
- }
按照字面量语法可以写成:
- var person = {
- name : "Nicholas",
- age : 29,
- job : "Software Engineer",
- sayName : function(){
- alert(this.name);
- }
- };
或者是
- var person = {}; // 与 new Object() 相同
- person.name = "Nicholas";
- person.age = 29;
- person.job = "Software Engineer";
- person.sayName = function(){
- alert(this.name);
- }
对象引用
在 ECMAScript 中, 不能访问对象的物理表示, 只能访问对象的引用. 每次创建对象, 存储在变量中的都是该对象的引用, 而不是对象本身.
对象废除
因 ECMAScript 拥有无用存储单元收集程序 (garbage collection routine), 想要废除某一对象时, 把对象的所有引用都设置为 null, 当变量 oObject 设置为 null 后, 对第一个创建的对象的引用就不存在了. 这意味着下次运行无用存储单元收集程序时, 该对象将被销毁. 每用完一个对象后, 就将其废除, 来释放内存, 这是个好习惯.
注意: 废除对象的所有引用时要当心. 如果一个对象有两个或更多引用, 则要正确废除该对象, 必须将其所有引用都设置为 null.
属性的访问
- // 方括号访问:
- alert(person["name"]); //"Nicholas"
- // 点表示法:
- alert(person.name); //"Nicholas"
一般来说, 访问对象属性推荐使用点表示法. 在有些特殊情况下用方括号语法:
通过变量访问属性
- var propertyName = "name";
- alert(person[propertyName]); //"Nicholas"
属性名中包含会导致语法错误的字符, 或者属性名使用的是关键字或保留字
person["first name"] = "Nicholas";
来源: http://www.qdfuns.com/note/50410/378df9b76c90143b173f8e97d013cf33.html