首页 > 技术文章 > js 如何创建一个对象

zxyun 2016-08-01 14:54 原文

 

有两种简单方法可以创建一个空对象:

var obj = new Object();
和:

var obj = {};
这两种方法在语义上是相同的。第二种更方便的方法叫作“对象字面量(object literal)”法。这种也是 JSON 格式的核心语法,一般我们优先选择第二种方法。

 

“对象字面量”也可以用来在对象实例中定义一个对象:

var obj = {
    name: "Carrot",
    "for": "Max",
    details: {
        color: "orange",
        size: 12
    }
}
对象的属性可以通过链式(chain)表示方法进行访问:

obj.details.color; // orange
obj["details"]["size"]; // 12
下面的例子创建了一个对象原型,Person,和这个原型的实例,You。

function Person(name, age) {
  this.name = name;
  this.age = age;
}

// 定义一个对象
var You = new Person("You", 24); 
// 我们创建了一个新的 Person,名称是 "You" 
// ("You" 是第一个参数, 24 是第二个参数..)
完成创建后,对象属性可以通过如下两种方式进行赋值和访问:

obj.name = "Simon"
var name = obj.name;
和:

obj["name"] = "Simon";
var name = obj["name"];
这两种方法在语义上也是相同的。第二种方法的优点在于属性的名称被看作一个字符串,这就意味着它可以在运行时被计算,缺点在于这样的代码有可能无法在后期被解释器优化。它也可以被用来访问某些以预留关键字作为名称的属性的值:

obj.for = "Simon"; // 语法错误,因为 for 是一个预留关键字
obj["for"] = "Simon"; // 工作正常

 

推荐阅读