根据var
语句声明一个变量是否合适,它使代码更容易根据修改需要重新排序程序中的行。
有人能说出来,在执行代码方面,Node.js中的以下声明样式之间有什么区别吗?
//Style 1
var keys = ['foo', 'bar']; var values = [23, 42];
//Style 2
var keys = ['foo', 'bar'], values = [23, 42];
答案 0 :(得分: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
声明:)