gpt4 book ai didi

javascript - 从字符串构造函数

转载 作者:行者123 更新时间:2023-12-03 07:49:31 25 4
gpt4 key购买 nike

我想知道这样的事情是否可能。让我们以“ Canvas ”为例:

(function(){
function Canvas(canvas){
this.canvas = document.querySelector('#canvas');
this.ctx = this.canvas.getContext('2d');
this.testMethod('fillRect',[10,10,10,10]);
}
Canvas.prototype.testMethod = function(method,params){
this.method = method;
this.params = params;

this.ctx.method.apply(this.ctx, params);

}
var canvas = new Canvas();
})()
<canvas id='canvas' width=400 height=400></canvas>

当然这是行不通的,但我想知道是否可以通过这种方式动态构造函数。我想要实现的是一种用户界面,我可以在其中输入方法名称和参数,并且它们将在特定上下文中执行(在此特定示例中为 CanvasRenderingContext2D)

最佳答案

尝试更改此行

this.ctx.method.apply(this.ctx, params);

this.ctx[method].apply(this.ctx, params);

因为 Canvas 的属性(其值为函数)名称存储在变量中。

例如,如果您的对象是

var obj = {
a: function(){console.log(1)}
}

您可以调用

obj.a(); 

或者如果你有

var b = "a";
obj[b]();

关于javascript - 从字符串构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35058040/

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