javascript - 为什么内置函数不能与事件一起使用?

标签 javascript

为什么内置函数不能与 Javascript 事件一起使用?

document.getElementById('test').onchange = alert("testing");

这不起作用,并且会立即触发。

相反,我必须将内置函数包装在函数中才能使其工作:

document.getElementById('test').onchange = function() { alert("testing"); }

这是为什么?

最佳答案

区别在于传递函数句柄与调用函数。

当您执行alert()时,您正在调用该函数,而不是传递它(从技术上讲,您传递的是该函数的结果)。

在第二种情况下,您不是调用该函数,而是定义一个新函数并返回它。

关于javascript - 为什么内置函数不能与事件一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23924569/

相关文章:

javascript - 如何在一行中干燥我的 jQuery 代码

javascript - 在 JS 中解构时默认嵌套部分对象吗?

javascript - AngularJS 服务返回预加载的数据或来自 $html.get 的数据

javascript - 将小函数从 jQuery 移植到 Prototype?

javascript - 如何创建一个使用随机生成的间隔调用函数的连续循环

Javascript:检测文本区域已满

javascript - React + Material UI - 在组件中覆盖 MuiTheme withStyles

javascript - 为什么 gzip 后的 html 文件显示时没有 JS 和 CSS?

javascript - unique() 用于 javascript 中的数组

javascript - 在 javascript 中使用堆栈跟踪记录错误