2012-03-27 4 views
1

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

<script type="text/javascript"> 
    var current = 0; 
</script> 

<script type="text/javascript"> 
    var current = 1; 
</script> 

Будет ли возникать первая проблема, связанная со вторым возникновением?

+0

Вы пытались проверить? – Joseph

+0

Лучший ответ, который вы можете получить из предоставленной информации, состоит в том, что ** вероятно ** вызовет проблемы. Однако, если у вас только когда-либо был код, который был выполнен по мере его обработки (так что никаких функций, вызываемых позже, на которых полагается значение 'current', является определенным значением), вы должны быть в порядке. –

ответ

4

Да, это будет. Существует только один глобальный контекст выполнения , не имеет значения, сколько узлов <script> у вас есть в вашей разметке HTML.

Таким образом, в данном конкретном примере, current получает initialzed на window объекта с 0, а затем получает перезаписаны 1.

0

Вы никогда не столкнетесь с ситуацией, когда код, который выполняется сразу после var current = 1 в вашем втором <script> тег, который будет использоваться current со значением, чем 1. Для того, чтобы обеспечить очень простой пример:

<script type="text/javascript"> 
    var current = 0; 
    alert(current); // will always alert 0 
</script> 

<script type="text/javascript"> 
    var current = 1; 
    alert(current); // will always alert 1, never 0 
</script> 

Это должно ответить на «вопросы вызывают с переменными получать неверное значение из выше сценария тега» аспект этого вопроса.

Смежные вопросы