В чем преимущество использования obj.loc++
вместо this.loc++
в четвертой строке?Разница между этими двумя линиями?
var carlike = function(obj, loc) {
obj.loc = loc;
obj.move = function() {
this.loc++;
};
return obj;
};
var amy = carlike({}, 1);
amy.move();
Это было немного объяснено на этом видео, но разница между этими двумя до сих пор не ясна для меня. https://www.youtube.com/watch?v=9oi0NY8Pen8
В этом видео говорится, что когда мы используем this.loc++
, он привязывается к новому значению, каждый раз, когда вызывается move
. Но когда мы используем obj.loc++
, то каждый раз, когда мы вызываем функцию автомобиля carlike
, создается новая область закрытия, поэтому переменная obj
всегда будет ссылаться только на один объект автомобиля. Что это значит?
FYA - Является ли что-либо ответом на ваш вопрос или если у вас есть свой собственный ответ, то, пожалуйста, разместите его, чтобы другие могли воспользоваться им. – hagrawal