В коде:
> function Person(name) {
> this.name = name;
> }
Когда вызывается как конструктор, вышесказанное создаст именованное свойство n вызвал имя и присвоил ему значение имя.
> Person.prototype.greet = function(otherName){
> return "Hi" + otherName + ", my name is " + name;
> }
Здесь имя идентификатор используется в качестве переменной, но идентификатор вы ищете поименованный свойство экземпляра, так что вам нужно получить доступ к нему в качестве такового. Как правило, эта функция будет вызываться как метод экземпляра, поэтому этот в функции будет ссылкой на экземпляр.Так что вы хотите:
return "Hi" + otherName + ", my name is " + this.name;
Так что теперь, когда вы можете сделать (обратите внимание, что переменные, начинающиеся с заглавной буквы, являются, по соглашению, зарезервирован для construtors):
> var john = new Person("John");
, а затем:
john.greet('Fred');
потому Приветствуйте называется методом сортире, он возвращает:
Hi Fred, my name is John
Объекта разрешение свойства не имеет ничего общего с размахом. Фраза «Неверный объем» будет лучше, чем «неправильный метод доступа». – RobG
достаточно справедливо. изм. –
спасибо за помощь – flylib