Javascript 为什么在addEventListener回调中调用removeEventListener?

Javascript 为什么在addEventListener回调中调用removeEventListener?,javascript,javascript-events,Javascript,Javascript Events,我已经下载了一个JS初学者模板。它有一个默认的.js文件,如下所示: (当然,js文件是在只包含元素的html页面中引用的。) 现在我的问题是为什么在窗口中有窗口。removeEventListener。addEventListener函数?它是一种允许事件处理程序执行一次的模式。在事件处理程序的第一次执行中,移除事件处理程序以停止其再次执行 有趣的是,它用于窗口加载事件,因为它无论如何只能触发一次 (function () { "use strict"; window.addE

我已经下载了一个JS初学者模板。它有一个默认的.js文件,如下所示: (当然,js文件是在只包含
元素的html页面中引用的。)


现在我的问题是为什么在
窗口中有
窗口。removeEventListener
。addEventListener
函数?

它是一种允许事件处理程序执行一次的模式。在事件处理程序的第一次执行中,移除事件处理程序以停止其再次执行

有趣的是,它用于
窗口
加载事件,因为它无论如何只能触发一次

(function () {
    "use strict";
    window.addEventListener("load", function load(event) {
        window.removeEventListener("load", load, false);
        init();
    }, false);

    function init() {
        document.getElementById("link").addEventListener("click", showAlert, false);
    }

    function showAlert() {
        alert("Welcome to Pure HTML!");
    }
}());