Правильно ли использовать термин глобальный в относительном смысле?

Предположим, что используется следующий надуманный JavaScript:

function do_something() {

  var x = 5;

  function alert_x() {
    alert(x);
  }

  alert_x();

}

do_something();

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

Однако правильно ли было бы сказать, что «переменная x является глобальной по отношению к функции alert_x? Может ли термин «глобальная» использоваться как относительный в этом смысле?


person Bungle    schedule 19.07.2010    source источник


Ответы (1)


Я рекомендую не делать этого: это противоречит общепринятым правилам и вызывает путаницу. Если вы делаете это как часть стандартной идиомы объекта Javascript, просто ссылайтесь на x как на «переменную-член» или как на «переменную замыкания» (поскольку она захватывается замыканием в alert_x).

person JSBձոգչ    schedule 19.07.2010
comment
Приятно знать, и это отвечает на мой вопрос - спасибо, JSBangs! - person Bungle; 19.07.2010