我有一个构造函数,例如webapp.core.cf1或Backbone.Router.但我得到这个构造函数不是作为参考,而是作为一个字符串!我不能改变这个要求,这个建议.必须是一个字符串.如何从中创建一个新对象,例如classfun("Backbone.Router")?
function classfun (cfstr)
{
...
cf = new window[cfstr]();
Run Code Online (Sandbox Code Playgroud)
如果我这样尝试,我得到错误:...不是构造函数.
为什么这不起作用?有没有使用的替代方式eval()?
非常感谢提前
编辑
谢谢大家的答案!
谢谢你,Tronix117,这就是问题!!
感谢Benjamin Schulte的功能!
如果您在控制台中尝试:
var A=function(a){this.test=a};
b = new window["A"](3);
console.log(b.test); // return 3
Run Code Online (Sandbox Code Playgroud)
所以这意味着,你试图访问不在窗口范围内的东西,它应该是这样的:window.something ["A"],如果你不知道那是什么,something那么你应该使用这个函数本杰明,否则使用这个,因为它的速度更快.
| 归档时间: |
|
| 查看次数: |
1873 次 |
| 最近记录: |