Показать сообщение отдельно
  #9 (permalink)  
Старый 07.04.2013, 14:47
Новичок на форуме
Отправить личное сообщение для jekahm Посмотреть профиль Найти все сообщения от jekahm
 
Регистрация: 04.10.2012
Сообщений: 5

Есть еще вопрос! Почему в примере ниже (я нашел его на этом сайте) для метода double bind используется, а для sum - нет?


function Example(x, y){
  this.x = x;
  this.y = y;
};
Example.prototype.sum = function(){
  return this.x + this.y;
};
Example.prototype.double = function(){
// Вместо for(var key in this) if(this.hasOwnProperty(key)) ...
  Object.keys( this )
// Получаем массив, к которому и применяем новые методы
        .forEach( function( key ){
// this "потерялся" бы, но...
          this[ key ] = this[ key ] * 2;
// У функций тоже есть новое
        }.bind(this) );
  return this;
};
 
var example = new Example(3, 7);
alert( example.sum() );
example.double();
alert( example.sum() );
Ответить с цитированием