我已经尝试过搜索,但也许我说的不正确,因为我没有找到任何运气。
我想这样做:
XS.prototype.Abc=function $Def(a,c){ ... }
但我希望XS
,ABC
和$Def
为变量(动态)
对于XS
,因为这是在全球范围内,我认为我可以像这样使用window[]
:
var myindex = 'XS';
window[myindex].prototype.Abc=function $Def(a,c){ ... }
我读过What is the difference between call and apply?但我仍然无法弄清楚是否可以使用call
或apply
将其他两个作为变量。
答案 0 :(得分:1)
您可以对任何对象使用[]
表示法:
window[ctorName].prototype[methodName] = function() { };
但是,AFAIK,没有非邪恶的方式来动态设置函数的名称。