基本過程
1.建立一個空物件
2.空物件的原型指向其建構函式的原型屬性
3.執行建構函式,且建構函式的this指向該物件
4.判斷建構函式返回值型別,若為值型別,返回空物件本身,若為引用型別,返回這個引用型別
例如,建立Person的例項
function Person(name,age){ this.name = name; this.age = age; } var obj = {}; obj.__proto__ = Person.prototype; var result = Person.call(obj,name,age); if(typeof(result) == 'object'){ person = result; } else{ person = obj; } return person