Определение переменной и метода внутри метода Javascript? - PullRequest
0 голосов
/ 26 августа 2011

Я использую плагин JQuery Localizer. Этот плагин имеет одну функцию, определенную так:

jQuery.fn.localize = function(stringsVar) {
...
}

Я хочу определить переменную внутри нее и иметь возможность установить ее. т.е .: Псевдокод такой:

jQuery.fn.localize = function(stringsVar) {
var defaultLanguage;
defaultlanguage : function(){
   return if defined defaultlanguage else "localizer_en";
}
...
}

Я запускаю это так прямо сейчас:

$('html').localize('localize_tr');

Так что я смогу установить значение по умолчанию перед его запуском:

localizer.defaultlanguage = 'af'; //just a pseudo code
$('html').localize('localize_tr');

Как я могу сделать это с JQuery / Javascript?

1 Ответ

0 голосов
/ 26 августа 2011

У вас это уже есть.

var defaultLanguage = "af";
jQuery.fn.localize = function(stringsVar) {
alert(defaultLanguage); //"af"
}

Проблема, с которой вы можете столкнуться, заключается в том, что вы определяете язык по умолчанию внутри другой функции. Это не сработает:

var FunctionA = function() {
  var defaultLanguage = "af"
}

jQuery.fn.localize = function(stringsVar) {
  alert(defaultLanguage);  // "undefined"
}

Если это так, просто убедитесь, что вы создаете экземпляр defaultLanguage вне функции A. Это будет работать:

   var defaultLanguage = "";

   var FunctionA = function() {
      defaultLanguage = "af"
    }

    jQuery.fn.localize = function(stringsVar) {
      alert(defaultLanguage);  // "af"
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...