Я новичок в Javascript (то есть, изучая Javascript ПРАВИЛЬНО). Я читаю раздел «Статические приватные переменные» в Профессиональной Javascript для веб-разработчиков 3rd Edition в главе 7.Статические частные переменные в Javascript
я был представлен с этим кодом, но я чувствую, что это не идеал:
(function(){
//private variables and functions
var privateVariable = 10;
function privateFunction(){
return false;
}
//constructor
MyObject = function(){
};
//public and privileged methods
MyObject.prototype.publicMethod = function(){
privateVariable++;
return privateFunction();
};
})();
В этом случае они полагаются на создание MyObject в качестве глобальной переменной, опуская «var». Однако в строгом режиме вы не можете опустить ключевое слово var, и этот код вызовет ошибку.
Будет ли моя переписывать правильно?
var MyObject = (function(){
//private variables and functions
var privateVariable = 10;
function privateFunction(){
return false;
}
var MyObject = function(){
}
//public and privileged methods
MyObject.prototype.publicMethod = function(){
privateVariable++;
return privateFunction();
};
return MyObject;
})();
Я смущен тем, почему книга опускает решение этой проблемы и подходит с ленивой методологией. Я твердо верю в использование «строгого режима» для всего моего кода.
Этот вопрос, вероятно, принадлежит более чем в http://codereview.stackexchange.com - но я хотел бы рассмотреть ваши переписать объективно более корректно, чем пример из книги. – Mic
Ваша версия в порядке. Эта книга довольно старая; 4 года - это огромный период времени в мире веб-технологий. – Pointy
Извините! Был мой первый пост в stackoverflow. Если кто-то сможет переместить его в более подходящее место, это было бы здорово! –