gpt4 book ai didi

JavaScript - 如何将新实例设置为动态创建的参数?

转载 作者:行者123 更新时间:2023-11-30 12:23:19 24 4
gpt4 key购买 nike

<分区>

我有一个方法可以将新实例设置为动态创建的数组。如果不使用 eval(),我该如何做到这一点?

var Form = (function(){
function Form(params){
this.shapesArray = [];
this.shape;
...
}

Form.prototype.submit = function(){
... this.shape is the shape selected by the user ...
this.setShape('new Shapes.' + this.shape + '(arg1, arg2, color)');
}

Form.prototype.setShape = function(obj){
this.shapesArray.push(obj);
}
return Form;
}());

那么,如何在不使用 eval() 的情况下通过传递 new 实例来调用 setShape 方法?

到目前为止这有效:

Form.prototype.submit = function(){
eval('this.setShape(new Shapes.'+ this.shape.capitalize() +'('+ str_params + '))');
}

但是使用 eval() 并不是一个好习惯。如何在没有 eval() 的情况下获得相同的结果?

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com