* 变量在使用前必须定义,否则将导致变量污染全局环境
* 每个var只能声明一个变量
* 变量必须 即用即声明,不得在函数或其它形式的代码块起始位置统一声明所有变量
```
// 变量声明与使用的距离越远,出现的跨度越大,代码的阅读与维护成本越高。
// 虽然JavaScript的变量是函数作用域,还是应该根据编程中的意图,缩小变量出现的距离空间。
// good
function kv2List(source) {
var list = [];
for (var key in source) {
if (source.hasOwnProperty(key)) {
var item = {
k: key,
v: source[key]
};
list.push(item);
}
}
return list;
}
// bad
function kv2List(source) {
var list = [];
var key;
var item;
for (key in source) {
if (source.hasOwnProperty(key)) {
item = {
k: key,
v: source[key]
};
list.push(item);
}
}
return list;
}
```