Ниже у меня есть две функции-члены, SayHello и SayHi, что эффективно делать то же самое:Лучшая практика для объявления функции члена JavaScript
function Person (n) {
\t this.name = n;
\t this.sayHello = function() {console.log("Hello, my name is "+this.name);};
};
Person.prototype.sayHi = function() {console.log("Hi, I'm "+this.name);};
Jeff = new Person('Jeff');
Joe = new Person('Joe');
Jeff.sayHello() // returns "Hello, my name is Jeff"
Joe.sayHi() /// returns "Hi, I'm Joe"
Да, 'sayHi' является общим, и' sayHello' создается для каждого экземпляра. –
Прототипы не могут получить доступ к «приватным» данным, если ваш конструктор имеет локальные переменные, метод прототипа не сможет получить к ним доступ. – Matthew