Глобальная переменная Javascript - PullRequest
0 голосов
/ 13 июля 2010

У меня есть скрипт-тег с переменной 'A', инициализированный как 16, но когда я использую оповещение в IE при событии onclick, я получил undefine, а не 16.

Это проблема в IE 6?

, например

<script type="text/javascript">
var A =16;
</script>

<a href=""  onclick="javascript:alert(A);">undefine</a>

Ответы [ 3 ]

3 голосов
/ 13 июля 2010

Держу пари, что это вызвано легким замешательством ...

Если поместить переменную перед переменной, то она будет помещена в локальную область видимости только в Javascript, а изменение переменной без нее (a = 16) будет глобальным.

function test() {
    a = 16;
    var b = 16;

}
test();

alert(a); # alerts 16
alert(b); # throws error, b is undefined
0 голосов
/ 09 апреля 2015

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

0 голосов
/ 13 июля 2010

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

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