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

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

本文关键字:函数 输出 覆盖 文档 单击      更新时间:2023-09-26

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

document.addEventListener('click',console.log(square(window.prompt('input value', x))))
function square(x) {
 return x*x;
}

它不起作用。我想知道为什么不,以及如何纠正它,但我也对完全其他的解决方案持开放态度,只要它们附有详细的解释。

两个错误:

  1. 您缺少addEventListener的结束)
  2. 您在window.prompt('input value', x)中使用未声明的变量x-只需将其删除
  3. document.write将字符串写入文档
  4. 使用内联函数function(){...your code...}以避免它直接触发

工作代码:

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