2012-05-29 7 views
-2

Я определяю глобальную переменную 'mode' прямо после заголовка страницы и перед кодом со всем javascript.Глобальные переменные в javascript

<?php require('header.php'); ?> 

<script type="text/javascript"> 
    var mode = ""; // flag to set to clicks to external site 
</script> 

<?php require('mainpage.php'); ?> 

У меня есть функции, определенные на главной странице следующим образом.

Затем я обращаюсь к глобальной переменной, подобной этой.

function channels() { 
     if (mode == "external") { 
      continue; 
     } 
} 

Но это приводит к сбою сценария. Кажется, не знает о глобальной переменной.

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

+2

Что это значит, '' продолжаете? 'Там? –

+0

слишком мало информации, авария не имеет ничего общего с этой глобальной переменной. Почему вы используете 'continue', если в вашем коде нет цикла? – fcalderan

+0

Что происходит, если 'channel.js' загружается до' mode'? Кроме того, очень плохая идея использовать глобальные переменные. Если у вас появилось много javascript, который взаимодействует с другим javascript в вашем приложении, вы можете посмотреть в [RequireJS] (http://requirejs.org/) –

ответ

-5

var - это не глобальная переменная. Для того, чтобы определить его не использовать Var

<script type="text/javascript"> 
    mode = ""; // flag to set to clicks to external site 
</script> 

Затем режимбудет свойство объекта окна.

+0

, но почему это может привести к сбою сценария? Кстати, я не уменьшил это. –

+3

Даже с «var» он все равно будет на верхнем уровне области и доступен везде. – Quentin

0
window.mode = "something"; 

function channels() { 
    // window.mode 
}