Javascript 为什么在没有提供数据参数的情况下可以引用此函数?

Javascript 为什么在没有提供数据参数的情况下可以引用此函数?,javascript,ecmascript-6,Javascript,Ecmascript 6,我不明白如何在不提供arg值的情况下调用这个带有arg的函数。我猜想,由于PS5库中的loadStrings方法将进行异步调用,因此假设返回数据或消息,但我仍然希望在函数调用中提供arg,因为函数定义需要arg 试图在网上找到对此的解释,但到目前为止无法找到 这就是使用和工作的方式 function setup() { loadStrings("lines.txt", doText); } function doText(data) { for (var i=0; i<data.

我不明白如何在不提供arg值的情况下调用这个带有arg的函数。我猜想,由于PS5库中的loadStrings方法将进行异步调用,因此假设返回数据或消息,但我仍然希望在函数调用中提供arg,因为函数定义需要arg

试图在网上找到对此的解释,但到目前为止无法找到

这就是使用和工作的方式

function setup() {
  loadStrings("lines.txt", doText);
}

function doText(data) {
  for (var i=0; i<data.length; i++) {
    text(data[i], 5, 20*i+20);
  }
}
函数设置(){
加载字符串(“lines.txt”,doText);
}
函数doText(数据){

for(var i=0;i
loadStrings
似乎是一个函数,它期望第二个参数是一个函数,其中参数是处理第一个参数的结果

比如说

函数加载字符串(a,f){
新承诺(功能(解决){
决议(a)
})
.然后(f)
}
函数doText(数据){

对于(var i=0;i这里没有魔力。正如您在
loadString正在读取给定文本文件的行,并将结果数组作为第一个参数传递给回调函数。

doText
后面没有括号,因此它不是调用。您只是将函数本身作为参数传递。我理解在函数定义不调用n参数,但doText确实需要一个,所以这是我的问题/困惑的jist。不需要arg,这对我来说是有意义的。有了arg,我想我必须使用第二种方法。使用
function loadStrings(filename,someFunction){someFunction([1,2,3]);}
作为示例。当调用传入的函数时,它会得到它的参数。如果不调用它,则不需要关心它的参数是什么。在第二个代码段中,
function(){doText(data);}
甚至不起作用-任何地方都没有
数据
变量。您需要将数据作为参数
函数(数据){doText(数据);}
接收才能起作用。好的,loadStrings方法是专门设置的,因此任何返回值都将始终作为在其自身的第二个参数中引用的函数的参数插入。
function setup() {
  loadStrings("lines.txt", function () {doText(data);});
}

function doText(data) {
  for (var i=0; i<data.length; i++) {
    text(data[i], 5, 20*i+20);
  }
}