В JavaScript функции всегда могут обращаться к глобальным переменным. У меня есть класс, который я использую, и он ссылается на глобальные переменные. Вот подобный класс:Переменная область внутри конструктора
function Test(){
this.abc = abc;
}
Если установить глобальный abc
затем вызвать это, она работает.
var abc = 123,
testA = new Test;
console.log(testA.abc); // 123
Но что, если я не хочу abc
быть глобальным? Я завернул код в вызов функции, но я получаю сообщение об ошибке abc is not defined
.
(function(){
var abc = 123,
testA = new Test; // ERROR: abc is not defined
console.log(testA.abc);
})();
Как я могу читать локальные переменные внутри конструктора JavaScript без добавления переменных в глобальную область?
Почему бы не передать 'abc' в качестве параметра' 'Test (.)? – lurker
@mbratch: Потому что я не писал 'Test'. Мне просто интересно, могу ли я «исправить» его, не переписывая. :) –