window.addEventListener和 window.removeEventListener对应关系问题

时间:2021-02-11 04:39:51
window.addEventListener('load', function loadSettings(evt) {
  window.removeEventListener('load', loadSettings);  //为什么刚刚绑定了监听又要解除绑定,这样会不会影响后续函数的执行?
  window.addEventListener('change', Settings);
  window.addEventListener('click', Settings);
  Settings.init();
});

4 个解决方案

#1


纯属个人理解:

1、为什么刚刚绑定了监听又要解除绑定?

解除绑定是为了解除loadSettings与load的关系,释放内存。

2、这样会不会影响后续函数的执行?

不会影响,这仅仅是一个调用函数的过程,在这个接触绑定之后将不再触发loadSettings

#2


解除有时候是为了程序只运行一次

#3


引用 1 楼  的回复:
纯属个人理解:

1、为什么刚刚绑定了监听又要解除绑定?

解除绑定是为了解除loadSettings与load的关系,释放内存。

2、这样会不会影响后续函数的执行?

不会影响,这仅仅是一个调用函数的过程,在这个接触绑定之后将不再触发loadSettings

感觉可能是好像重置下状态,避免下面的代码冲突

#4


是为了清除之前绑定的事件

#1


纯属个人理解:

1、为什么刚刚绑定了监听又要解除绑定?

解除绑定是为了解除loadSettings与load的关系,释放内存。

2、这样会不会影响后续函数的执行?

不会影响,这仅仅是一个调用函数的过程,在这个接触绑定之后将不再触发loadSettings

#2


解除有时候是为了程序只运行一次

#3


引用 1 楼  的回复:
纯属个人理解:

1、为什么刚刚绑定了监听又要解除绑定?

解除绑定是为了解除loadSettings与load的关系,释放内存。

2、这样会不会影响后续函数的执行?

不会影响,这仅仅是一个调用函数的过程,在这个接触绑定之后将不再触发loadSettings

感觉可能是好像重置下状态,避免下面的代码冲突

#4


是为了清除之前绑定的事件