javascript - 如何从另一个函数调用使用 window.onload 的函数

标签 javascript function return

一旦用户单击调用 myFunction 的按钮,我就尝试再次使用 QuestionFunction(),但收到错误“questionFunction 未定义”

window.onload = function questionFunction() {
  var questionText = document.getElementById("question").innerHTML = randomNumber1 + " " + operationArray[randomOperation1] + " " + randomNumber2 + " " + operationArray[randomOperation2] + " " + randomNumber3;
}

function myFunction() {
return questionFunction();
}

我不希望文本在加载时更改,并且在用户单击调用 myFunction() 后再次更改

最佳答案

您收到该错误是因为函数表达式没有将函数的标识符添加到它出现的范围(只有函数声明才这样做)。

简单的答案是将其改为函数声明:

function questionFunction() {
  var questionText = document.getElementById("question").innerHTML = randomNumber1 + " " + operationArray[randomOperation1] + " " + randomNumber2 + " " + operationArray[randomOperation2] + " " + randomNumber3;
}
window.onload = questionFunction;

由于这为函数添加了标识符,现在您可以按照 myFunction 中的方式调用它。

关于javascript - 如何从另一个函数调用使用 window.onload 的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53044685/

相关文章:

javascript - d3js - 将父元素添加到选择中

javascript - 本地改编的 Affectiva jsfiddle 示例给出错误 : "Failed to load resource: ...affdex/adapter-1.4.0.js"

javascript - 在鼠标悬停时显示全尺寸图像

python - 返回外部函数,或意外缩进

从函数返回的 C++ 问题

javascript - 使用 coffeescript 进行多文件通信

c - 使用 C 程序来计算字符、单词、句子、行或以上所有内容。

c - 如何在 C 中返回坐标结构

JavaScript - for 循环与数组移位

java - 当方法包含多个具有多个返回值的 if 语句时,如何从方法中获取返回值?