2013-12-08 26 views
1

我想找到簡單的方法來定義JavaScript對象(如對象可能)。由簡單對象定義JavaScript對象原型是否有效 - 我可以使用這種語法嗎?

  1. 我可以使用沒有副作用的對象重新定義原型嗎?
  2. 我應該使用prototype.member語法,以避免副作用?
  3. 是所有版本將在Eclipse中進行概述(有一些JsDoc如果需要的話)?

代碼示例:

function Hello() { 
    this.name = 'hello'; 
} 

Hello.prototype = { 
    hello: function() { 
     return 'hello'; 
    } 
} 
+0

var test = new Hello(); test.hello();給你「你好」。所以語法是正確的,你可以創建新的對象。那是你要求的嗎? –

+0

@QambarRaza它也不是那麼容易 - 可以是其他的副作用,例如在繼承。確實,代碼將按照你描述的方式工作 – Chameleon

回答

2

是的,可以。唯一的副作用是你失去了原始原型對象的構造函數屬性。你可能不會使用它,但如果你這樣做,解決方案很簡單:自己添加構造函數屬性:

function Hello() { 
    this.name = 'hello'; 
} 

Hello.prototype = { 
    hello: function() { 
     return 'hello'; 
    }, 
    constructor: Hello 
} 
+0

你認爲這只是一種可能的副作用嗎? – Chameleon

+0

是的。這樣做是安全的。 – banzomaikaka

相關問題