gpt4 book ai didi

javascript - 如何在不将其更改为字符串的情况下从函数中提取参数?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:24:06 27 4
gpt4 key购买 nike

我认为这是一个非常愚蠢的问题,但请帮忙:)

我试图创建一个函数来绘制类似 sin(x) 的图形:

    var x = 0;
var zoom = 10;

function plot(function_name) {

function draw() {
var y = function_name;
c.arc(x * zoom, y * zoom, 1, 0, Math.PI * 2, false);
c.strokeStyle = '#fff';
c.stroke();

x += 0.1;
}

function animate() {
requestAnimationFrame(animate);
draw();
}

animate();
}

plot('Math.sin(x)');

但问题是它将我的参数作为字符串接收(我认为是这样)。如果我不加双引号,它会计算 sin(0) 并给出 0 作为参数。

我该如何解决这个问题?

最佳答案

它选择你的参数作为字符串,因为你将它作为字符串传递。
您可以通过这种方式将函数作为参数传递:

var x = 0;
var zoom = 10;

function plot(func) {

function draw() {
var y = func(x); // calculate y by applying func to x
c.arc(x * zoom, y * zoom, 1, 0, Math.PI * 2, false);
c.strokeStyle = '#fff';
c.stroke();

x += 0.1;
}

function animate() {
requestAnimationFrame(animate); // move requestAnimationFrame to the end?
draw();
}

animate();
}

plot(Math.sin); // pass function itself as an argument
plot(Math.cos); // or any other function

// or even custom function
function myEquation(x)
{
return x * x + 2 * x - 4;
}
plot(myEquation);

关于javascript - 如何在不将其更改为字符串的情况下从函数中提取参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53570693/

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