Используя var
и function foo() {}
(последнее как объявление, что означает "просто" function foo() {}
без его присвоения), создайте локальные символы.Таким образом, функция недоступна за пределами конструктора.
Что бы вы ни хотели показать (сделать общедоступным), вам следует присвоить this
(или self
, поскольку вы определили self = this
):
self.getName = function() {
return self.name;
};
Обратите внимание, что вы уже использовали name
, поэтому я дал функции другое имя.Если вы хотите сделать строку name
локальной и предоставить функцию, тогда они могут иметь одно и то же имя, поскольку нет конфликта.Например:
var name = "john";
self.name = function() {
return name;
};