javascript - 我不想运行函数,只是将其用作参数,但它不断弹出

标签 javascript function parameters

我在其他答案中读到,为了使用函数作为参数,需要编写 whatever; 而不是 whatever() 因为这个 las 选项“调用”该函数。但是如果我需要指定该函数的参数怎么办?我举个例子:

我有这个功能来替换一些内容:

function navigate(content) {
var card = document.getElementById('informationdiv');
card.innerHTML = content;
} 

然后我有另一个创建内容的函数:

function productsheet(article) {
    document.write(array_products[article].Name);
    document.write(array_products[article].Number);
    document.write(array_products[article].Type);
    // and so on...

然后,我想像这样调用第一个函数:

navigate(productsheet(article));

并且它不执行innerHTML替换,而是运行productsheet(article)覆盖其他所有内容。

正如我所说,我发现了类似的问题,解决方案是在没有 (article) 的情况下传递 productsheet,但在我的情况下,我需要article参数,所以 productsheet知道要打印什么...

这里建议的方法是什么?

非常感谢!

最佳答案

如果我正确理解了您的问题,您需要将一个匿名函数传递给 navigate 并在其中调用您的 productsheet 函数:

navigate(function () {
    productsheet(article);
});

但是,我不太确定您想要实现什么...您可能想摆脱这些 document.write 调用并从 productsheet< 返回一个字符串,并调用该函数,而不是将其引用分配给 innerHTML:

card.innerHTML = content();

关于javascript - 我不想运行函数,只是将其用作参数,但它不断弹出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13250434/

相关文章:

Perl:使用 GetOptions 过滤无效参数

php - 在 IE 8 中遇到问题对象需要错误,灯箱在 IE 8 和 IE 7 中不起作用

javascript - dalelotts angular-bootstrap-datetimepicker 在 timepicker 中显示 24 小时格式

javascript - setTimeOut 导致函数在单击按钮之前触发

c++ - 如何在 const 函数中调用非常量函数 (C++)

python - Pyspark:将参数传递给数据帧中的字符串列

java - 无法解决JPQL :parameter problem by using FUNC()

javascript - 无法将表单控件分配给 Reactive Forms 中的模板变量 - Angular ?

python - 将带参数的函数传递给Python中的另一个函数?

c - 我的函数有什么问题,某些数字有效,而其他数字无效?