Passing scope to forEach

后端 未结 2 1874
时光说笑
时光说笑 2020-12-05 02:06

I\'m trying to use a callback method addToCount instead of anonymous function in forEach. But I can\'t access this.count in it (return

2条回答
  •  执念已碎
    2020-12-05 02:25

    You need to use Function#bind to bind a scope:

    words.forEach(this.addToCount.bind(this));
    

    Note that this is not available in all browsers: you should use a shim (as provided in the link above) to add it in the browsers that don't support Function#bind.


    As dandavis points out in the comments, you can pass a value to Array#forEach as the context for the callback:

    words.forEach(this.addToCount, this);
    

提交回复
热议问题