JS: как использовать анонимную функцию .bind в addEventListener - PullRequest
0 голосов
/ 03 июня 2019

Я кодирую Ханойские башни и буду использовать EventListeners на холсте (элемент html). Читая их, я запустил следующий код из developer.mozilla.org ,

  • Заголовок - получение данных в прослушиватель событий и из него
  • Подзаголовок - получение данных в прослушивателе событий с помощью этого
1 var myButton = document.getElementById('my-button-id');
2 var someString = 'Data';
3
4 myButton.addEventListener('click', function.bind(someString) {
5  console.log(this);  // Expected Value: 'Data'
6 });

Почему мой результат "SyntaxError: missing ( before formal parameters" 4(line):43(column) - вот где стоит точка в function.bind. Пожалуйста. * * 1013

Ответы [ 2 ]

2 голосов
/ 03 июня 2019
function() {
  console.log(this);  // Expected Value: 'Data'
}.bind(someString)
1 голос
/ 03 июня 2019

bind - это метод, найденный в функциональных объектах.Он не используется в ключевом слове function (которое является частью выражений функций и объявлений функций).

Сначала создайте функцию, , затем bind.

function myFunction () {
    console.log(this);
}

const someString = "something to bind to";

const myBoundFunction = myFunction.bind(someString);

myBoundFunction();
...