2013-02-11 2 views
1

Можно ли объявить одну переменную в инструкции var, она упрощает код для повторного заказа строк в программе в соответствии с потребностями в модификации.Лучший способ объявить переменные в Node.js

Может ли кто-нибудь разобраться, есть ли разница между следующим стилем объявлений в Node.js с точки зрения выполнения кода?

//Style 1 
var keys = ['foo', 'bar']; var values = [23, 42]; 

//Style 2 
var keys = ['foo', 'bar'], values = [23, 42]; 
+3

Они равнозначны, но второй имеет меньший набор текста (не нужно вводить вар снова и снова). Полезно для блока переменных. – bryanmac

ответ

4

В JavaScript может быть указано несколько операторов var; это называется подъемник; Однако, поскольку вы можете столкнуться с проблемами определения областей, лучше всего использовать одно объявление в любой функции.

Это общепринятая увидеть этот стиль

var keys = ['foo', 'bar'], 
    values = [23, 42]; 

На самом деле, сама причина JavaScript позволяет приковать заявления вместе, потому что они должны происходить вместе.

Чтобы проиллюстрировать проблему рамочный:

f = "check?"; 

var hello = function() { 
    console.log(f);   // undefined 
    var f = "nope!"; 
    console.log(f);   // nope! 
}; 

var hello2 = function() { 
    console.log(f);   // check? 
    var f2 = "nope!";  // not reusing `f` this time 
    console.log(f2);   // nope! 
}; 

hello(); 
hello2(); 

На первый взгляд, можно подумать, что первый выход будет check?, а потому, что вы используете var f внутри тела функции, JavaScript создает локальную область для этого.

Чтобы избежать работы в таких вопросах, как это, я просто использовать одну var декларацию :)

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