单击页面后,我想用函数的输出覆盖文档

I want to overwrite the document with the output of a function after clicking on the page

如您所见,我已经为整个页面添加了一个事件侦听器(假设我知道它是如何工作的),它等待单击鼠标以调用一个名为 square 的具有单个参数的函数.它将您传递给参数的任何参数乘以自身并将其 returns 作为输出。但是我希望提示用户输入它,而不是参数中的 运行 x,所以我将该指令放在它的位置。

document.addEventListener('click',console.log(square(window.prompt('input value', x))))

function square(x) {

 return x*x;
}

它不起作用。我想知道为什么不以及如何纠正它,但我也愿意接受完全其他的解决方案,只要它们附有详细的解释。

两个错误:

  1. 你错过了 addEventListener
  2. 的结尾 )
  3. 您在 window.prompt('input value', x) 中使用了未声明的变量 x - 只需将其删除
  4. document.write 将字符串写入文件
  5. 使用内联函数function(){...your code...} 避免立即触发

工作代码:

document.addEventListener('click', function(){document.write(square(window.prompt('input value')))})

function square(x) {

  return x * x;
}