2016-10-03 36 views
-2

如何使用(方括號)將原型應用於構造函數。我不想使用點符號,因爲它不評估變量,而是返回變量名稱,我希望原型更具動態性。以下是我正在努力實現的目標,但我無法實現。原型(「classify」,「alert_classification」,「alert(this.classification)」);使用方括號的原型(僅適用於Vanilla JS解決方案)

+1

你應該幾乎從來不使用'新Function'。 – Bergi

+0

您似乎想要'__prototype__ ===「原型」',或者只是使用'main [...]原型[...] = ...' – Bergi

+0

「*我不想使用點符號*」 - 您能否詳細說明?這似乎正是你真正想要的。你可以讓你的功能與它一起工作,不是嗎? – Bergi

回答

1

您希望對變量屬性(…[constructor_name]…[prototype_name])使用括號表示法,但對恆定屬性….prototype使用點表示法。您需要將它們混入

function prototyper(constructor_name, method_name, fn) { 
    main[constructor_name].prototype[method_name] = fn; 
} 

jsfiddle demo

相關問題