如何使用声明中的变量使用Javascript的原型扩展对象?

时间:2013-12-08 23:00:18

标签: javascript

我已经尝试过搜索,但也许我说的不正确,因为我没有找到任何运气。

我想这样做:

    XS.prototype.Abc=function $Def(a,c){ ... }

但我希望XSABC$Def为变量(动态)

对于XS,因为这是在全球范围内,我认为我可以像这样使用window[]

var myindex = 'XS';
window[myindex].prototype.Abc=function $Def(a,c){ ... }

我读过What is the difference between call and apply?但我仍然无法弄清楚是否可以使用callapply将其他两个作为变量。

1 个答案:

答案 0 :(得分:1)

您可以对任何对象使用[]表示法:

window[ctorName].prototype[methodName] = function() { };

但是,AFAIK,没有非邪恶的方式来动态设置函数的名称。