2016-10-03 49 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

相关问题