在去同事那里进行代码审查之前,我想知道最佳实践是什么。
我知道以下代码有效。我的问题是JavaScript是否普遍接受这种方式的闭包,或者是否缺少我所遇到的问题?谢谢
编辑:更新了代码段以更清楚地显示我要实现的目标(更清晰,更易读的代码)
// All this is happening inside a function. Declared vars are not global.
var x, y, z; // lots of variables to declare (to use in closures)
setupVars(true); // lots of variables to setup
useVars(); // lots of variables to use
function setupVars(condition) {
if(condition){
x = 1;
y = 2;
z = 3;
} else {
x = 4;
y = 5;
z = 6;
}
};
function useVars(){
console.log(x);
console.log(y);
console.log(z);
}
答案 0 :(得分:0)
在函数内使用与全局名称同名的变量不是一种好的编码习惯。在上面的代码中,您应该考虑在函数内部重命名x。
否则,如果该功能与上面显示的一样简单,则可以执行以下操作
function modify(value){
return modified_value;
}