2012-07-20 47 views

回答

2

該代碼沒有多大意義。如果該功能沒有使用new關鍵字,則會創建並返回一個對象。如果與關鍵字new一起使用,則會創建兩個對象,並且在該函數內創建的對象將被丟棄。

如果您從函數返回對象,則不應使用new關鍵字。是應該與new關鍵字一起使用不返回對象的功能,而不是它使用this關鍵字設置在已創建的對象屬性:

function o(p) { 
    this.n = p; 
} 
+0

「在函數內部創建的對象被丟棄」如果它被丟棄,那麼新o(123)的結果如何將n作爲123的值作爲屬性? – Cracker 2012-07-20 21:02:38

+0

@Cracker:Hm ...看起來它有些作品可以返回一個對象,因爲它將被用來代替原來的對象,但是在函數運行之前創建的對象將被丟棄。而且,該對象不會從該函數繼承原型。 – Guffa 2012-07-20 21:38:41

相關問題