Comments 6
var self = this;
Это ужасно!
Почему так сложно научиться использовать bind?
secondObject.increment = function ()
{
var incrementInternal = function ()
{
this.value++;
console.log(this.value);
}.bind(this)
incrementInternal();
// или по мере необходимости
// incrementInternal.bind(this)();
}
Согласен, не самое элегантное решение, но довольно популярное.
Ребята, разрабатывающие knockoutjs, придерживаются того же мнения.
Плюс метод bind не работает в IE < 9, если мне не изменяет память.
Ребята, разрабатывающие knockoutjs, придерживаются того же мнения.
Плюс метод bind не работает в IE < 9, если мне не изменяет память.
Во-первых, потому что иногда возникает необходимость ссылаться как на this вложенного контекста, так и на this родительского. Одним bind тут не обойтись.
А во-вторых, потому что одна строчка var self = this; занимает на экране меньше места, чем 100500 строчек с вызовом bind.
Наконец, в-третьих, стандартный bind возвращает функцию, имеющую совершенно безликое строковое представление. Так, в консоли Хрома она выглядит как function () { [native code] }, что значительно затрудняет отладку.
А во-вторых, потому что одна строчка var self = this; занимает на экране меньше места, чем 100500 строчек с вызовом bind.
Наконец, в-третьих, стандартный bind возвращает функцию, имеющую совершенно безликое строковое представление. Так, в консоли Хрома она выглядит как function () { [native code] }, что значительно затрудняет отладку.
Я извиняюсь, но… де ожидалось от статьи получить информацию о хоть каком-то «ходе конем» касательно this.
В итоге в статье есть только описание prototype и то в очень «легком» виде без объяснения и разъяснения…
Статья не имеет, на мой взгляд, никакой изюминки.
В итоге в статье есть только описание prototype и то в очень «легком» виде без объяснения и разъяснения…
Статья не имеет, на мой взгляд, никакой изюминки.
Sign up to leave a comment.
Немного об использовании this