每个var
语句声明一个变量是否很好,它使代码更容易根据修改需要重新排序程序中的行。
有人可以弄清楚,在代码执行方面,Node.js 中的以下声明风格有什么区别吗?
//Style 1
var keys = ['foo', 'bar']; var values = [23, 42];
//Style 2
var keys = ['foo', 'bar'], values = [23, 42];
每个var
语句声明一个变量是否很好,它使代码更容易根据修改需要重新排序程序中的行。
有人可以弄清楚,在代码执行方面,Node.js 中的以下声明风格有什么区别吗?
//Style 1
var keys = ['foo', 'bar']; var values = [23, 42];
//Style 2
var keys = ['foo', 'bar'], values = [23, 42];
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
声明:)