Javascript Object

1. 动态添加对象的属性和方法

// start with an empty object
var dog = {};

// add one property 
dog.name = "Benji";

// now add a method 
dog.getName = function () {
    return dog.name; 
};

2. 一次性创建对象

var dog = {
    name: "Benji",
    getName: function () {
        return this.name; 
    }
};

3. 使用内建的构造函数

// one way -- using a literal 
var car = {goes: "far"};

// another way -- using a built-in constructor 
// warning: this is an antipattern
var car = new Object();
car.goes = "far";

literal notation的优点:

1)it’s shorter to type

2)it emphasizes that objects are simply mutable hashes and not something that needs to be baked from a “recipe” (from a class) 

3) faster

// an empty object 
var o = new Object();

console.log(o.constructor === Object); // true

// a number object
var o = new Object(1); 
console.log(o.constructor === Number); // true 
console.log(o.toFixed(2)); // "1.00"

// a string object
var o = new Object("I am a string"); 
console.log(o.constructor === String); // true 

// normal objects don't have a substring()
// method but string objects do 
console.log(typeof o.substring); // "function"

// a boolean object
var o = new Object(true); 
console.log(o.constructor === Boolean); // true
原文地址:https://www.cnblogs.com/davidgu/p/3329818.html