有什么理由认为其中一种方法比另一种更好或更差?
function func1(x,y,z){
//do something with x,y,z
}
var x,y;
if (CONDITION){
var z;
}
// method1
if (z) {
func1(x,y,z);
}
第一个方法检查 z,然后调用 x,y,z 到一个函数
function func2(x,y,z){
if (z){
//do something with x,y,z
}
}
var x,y;
if (CONDITION){
var z;
}
// method2
func2(x,y,z);
第二个只是用 x,y,z 调用函数,知道 z 可能是未定义的,然后检查 z
编辑...在评论中我能够解析出我还问什么... ...如果解释器选择以不同的方式处理未定义的属性,我是否会让自己在未来度过一段糟糕的时光...意思这是一个漏洞,还是能够向函数发送未定义的变量一个特性