2012-02-16 3 views
8

У меня есть довольно общий вопрос относительно JavaScript и локальных переменных. Мой вопрос заключается в чем разница между следующим и, если есть:Переопределение локальной переменной с var в JavaScript

function bla 
{ 
    var a = 2; // local variable 
    a = 3;  // the local variable a gets a new value 

    // Would do the following line anything different 
    // (than simply asigning this value?) 
    var a = 4; 
} 

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

ответ

13

Любое использование var внутри функции поднимается. Последующие применения одной и той же переменной в той же области не влияют.

Он имеет то же значение, что и a = 4;.

+3

Есть ли какая-либо стоимость исполнения для переопределения переменной? Мне нравится объявлять свои локальные переменные внутри моего if, for, while и т. Д., Чтобы код был аккуратным и читаемым. Это зависит только от личного вкуса (я знаю, что переменная находится внутри функции), и я хотел бы убедиться, что это не оказывает негативного влияния на действия. –

+5

Вот ответ на мой вопрос: http://jsfiddle.net/U5Zdv/ => он не имеет абсолютно никакого значения с точки зрения производительности на IE10 –

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

  • Нет связанных вопросов^_^