JavaScript-将EventListener添加到本地作用域中的函数?

JavaScript-将EventListener添加到本地作用域中的函数?,javascript,Javascript,我有一组需要全局变量的函数,为了不污染全局名称空间,我一直试图找到一种方法来本地化它们。但是,我还希望使用事件侦听器从外部触发它们。我不希望在事件侦听器中使用匿名函数,因为有一天我可能想删除该事件侦听器 (我无法了解带有匿名函数的事件侦听器是否会以与函数本身相同的方式自动销毁,或者它们是否会保留在页面中直到重新加载。) 这就是我所拥有的(不起作用) 我想让它起作用: window.onload = function() { document.addEventListener('mousewh

我有一组需要全局变量的函数,为了不污染全局名称空间,我一直试图找到一种方法来本地化它们。但是,我还希望使用事件侦听器从外部触发它们。我不希望在事件侦听器中使用匿名函数,因为有一天我可能想删除该事件侦听器

(我无法了解带有匿名函数的事件侦听器是否会以与函数本身相同的方式自动销毁,或者它们是否会保留在页面中直到重新加载。)

这就是我所拥有的(不起作用)

我想让它起作用:

window.onload = function() {
  document.addEventListener('mousewheel', scrollthis.scrolldown, false);
}

var scrollthis() {
  function scrolldown() {
    // code that does stuff
  }
  return  {
    scrolldown:scrolldown
  }
}

有什么想法吗?

现在
滚动此
是一个函数,您试图将其用作对象。您有两个选择:

您可以将此滚动设置为对象:

window.onload = function() {
  document.addEventListener('mousewheel', scrollthis.scrolldown, false);
}

var scrollthis = {
  scrolldown: function () {
    // code that does stuff
  }
}
或者,您可以在尝试访问
向下滚动
功能之前调用
滚动此
功能:

window.onload = function() {
  document.addEventListener('mousewheel', scrollthis().scrolldown, false);
}

令人惊叹的非常感谢。:)在这两种方法中,你会推荐其中一种吗?(我目前正在使用object方法,因为我无法让function方法工作。)很抱歉重复评论,但我已经让它工作了!再次感谢!:D