Должен «это». или 'var', чтобы создавать переменные в классе Javascript или не имеет значения, что используется. Очевидно, те, которые определены с этим. будут доступны извне объекта, тогда как те, которые определены с var, не будут, но есть ли другие отличия?Переменные класса Javascript - это. или var
function myClass() {
\t this.count = 0;
\t this.oTimer = null;
this.getCount = function() { return(this.count); }
}
oMyObj = new myClass();
oMyObj.getCount(); // returns 0
в отличие от
function myClass2() {
\t var count = 0;
\t var oTimer = null;
this.getCount = function() { return(count); }
}
oMyObj = new myClass2();
oMyObj.getCount(); // returns 0
'var' делает счет скрытым. Для 'this.count' вы можете получить доступ к счету, выполнив' oMyObj.count'. Читайте о области и закрытии javascript. –
Лексический обзор моего друга :) – jdmdevdotnet
Все зависит от видимости, которую вы хотите. Использование «этого» означает «это видимый член этого класса». Он также передает это намерение другим разработчикам. использование «var» означает «не использоваться снаружи» (и, опять же, сообщает это намерение). Однако обратите внимание, что в JavaScript, в конце концов, вообще можно получить любую часть данных независимо от того, как разработчик попытался скрыть ее. Модульные шаблоны и, таким образом, дают долгий путь для обнаружения нарушений во время компиляции и т. Д., Но хорошая «нота» в виде скобок делает почти что угодно. –