Как бы вы создали нелокализованную переменную в функции, чтобы она была доступна другим функциям в JavaScript? - PullRequest
1 голос
/ 24 октября 2010

У меня есть переменная в function, которую я хочу сделать доступной для других функций. Как бы вы это сделали?

Ответы [ 4 ]

2 голосов
/ 24 октября 2010

Вы должны указать объект, к которому добавлено свойство (переменная) (переменные всегда являются свойствами какого-либо объекта).

Если вы хотите, чтобы эта новая переменная была доступна всем, вы добавляете ее в объект окна, например:

window.variablename = 'some value';
0 голосов
/ 24 октября 2010

пожалуйста, избегайте глобальных переменных. если у вас есть асинхронные вызовы через jquery, использование глобальных переменных может привести к неоднозначному поведению.

0 голосов
/ 24 октября 2010
(function () {
    var a;

    setA(1);
    alert(getA()); // 1

    function setA(value) {
        a = value;
    };

    function getA() {
        return a;
    }
})();
0 голосов
/ 24 октября 2010

Или, может быть, так:

function funcA() {
    if(typeof funcA.variable == 'undefined') {
        funcA.variable = 0;
    }
    else {
        funcA.variable++;
    }
}

function funcB() {
  alert(funcA.variable);
}

funcA();
funcB(); //alerts 0
funcA();
funcA();
funcA();
funcB(); //alerts 3
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...