30322
リスナーの登録は

```

    var listener = function(){
      console.log('click')
    };
    element.addEventListener('click', listener);
    
```

登録したリスナーを削除するには

```

    element.removeEventListener('click', listener);
    
```

例えば以下のようにlistenerを書き換えてしてremoveEventListenerすると登録されたlistenerは削除されません。

```

    var listener = function(){
      console.log('click')
    };
    element.addEventListener('click', listener);
    listener = function(){
      console.log('click')
    };
    element.removeEventListener('click', listener);
    
```

このremoveEventListenerでlistenerを引数にして登録されてるlistenerを識別して削除されるのは内部的にどういう仕組みでしょうか？
CC BY-SA 3.0
2016-11-11T06:32:25.470
30321
2016-11-11T06:58:51.917
2016-11-11T06:58:38.053
19526
19526
question
javascript
removeEventListenerで削除するlistenerを識別する内部的な仕組み
自己解決しました。関数同士を比較することできたんですね。。。知らなかったです。

```

    var hoge = function(){};
    var foo = hoge;
    var bar = hoge;
    console.log(hoge === bar); // => true
    hoge = function(){};
    console.log(hoge === bar); // => false
    console.log(foo === bar); // => true
    
```
CC BY-SA 3.0
2016-11-11T06:58:51.917
30322
2016-11-11T06:58:51.917
19526
30321
answer