1: 物件字面量的方式
let o = {}
2: 通過object.create()
let o = object.create({})
3: 通過new 建構函式的方式
let o = new object()
function person(name)
person.prototype.getname = function ()
var objectfactory = function ()
var a = objectfactory(person, 'sven')
console.log(object.getprototypeof(a) === person.prototype)
// 效果等效
var a = objectfactory(person, 'sven')
var a = new person('sven ')
如果建構函式用return 顯示的返回乙個物件,那麼new之後,會返回這個物件。
如果建構函式不顯示的返回任何資料,或返回乙個非物件型別的資料,則預設返回this指定的物件。即建構函式生成的物件。
參考: js中new乙個物件的過程
使用new關鍵字呼叫函式 newclassa 的具體步驟 1.建立空物件 var obj 2.設定新物件的constructor屬性為建構函式的名稱,設定新物件的 proto 屬性指向建構函式的prototype物件 obj.proto classa.prototype 3.使用新物件呼叫函式,函式...
js中new乙個物件的過程
使用new關鍵字呼叫函式 newclassa 的具體步驟 1.建立空物件 var obj 2.設定新物件的constructor屬性為建構函式的名稱,設定新物件的 proto 屬性指向建構函式的prototype物件 obj.proto classa.prototype 3.使用新物件呼叫函式,函式...
new乙個物件的過程
class a public void a string name,int age class b 執行順序 1 因為new用到了 a.class,所以會先找到a.class檔案並載入到記憶體中 2 執行該類中的static 塊,如果有的話,給a.class類進行初始化。3 在堆記憶體中開闢空間,分...