javascript - 为什么 window.addEventListener 不起作用?

标签 javascript

<分区>

在 window.onload 事件中,我想要调用一个函数。 如果我如下定义它,则不会调用该函数。

try {
    window.addEventListener("load", initialiseTable, false);
} catch(e) {
    window.onload = initialiseTable;
}

var initialiseTable = function () {
    console.log("hello world!!");
};

但如果我将函数声明更改为

function initialiseTable() {
    console.log("hello world!!");};

它有效,知道吗?

最佳答案

当您使用 var x = function(){} 声明函数时,应该在调用函数之前声明它。

通过 function x (){}x 将存在于当前作用域中,无论它以后如何声明。由于此类副作用,更推荐使用 var x = function(){}。例如:

var user = 'alien';
if( user == 'alien') {
    function salute () { console.log("Welcome to Earth!"); }
} else {
    function salute (){ console.log("Good day!"); }
}

无论如何,salute() 将打印Good day!,即使我们根本不想要它。

关于javascript - 为什么 window.addEventListener 不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17217983/

相关文章:

javascript - 当按下退格键/删除键时,如何使用 Angularjs 重置输入字段?

javascript - 隐藏包含指定字符串的表行

javascript - Node.JS 新手 : how to export functions and use them in browserify modules?

javascript - 在 Promise 中调用 setState 时 React Jest 测试失败

javascript - 无法将消息从上下文菜单发送到内容脚本

javascript - 无法删除 AngularJS 中的 #

javascript - window.onfocus 不会停止在 Chrome 中触发

javascript - IE 中的 console.assert/error 堆栈跟踪?

javascript - Highchart Js 中的工具提示修改

javascript - 生成器函数中的委托(delegate) yield (yield star、yield *)