在只有一个或两个参数发送到函数的情况下,我如何绕过函数内的变量设置值(而不是三个)。
目前我的代码是这样的:
var mj = function(x, y, z){
if( x || y || z === !undefined){
var xName = x.name;
var yName = y.name; //throws error here
var zName = z.name;
}
}
mj({name: "mo"})
您可以使用条件 (x && y && z)
,如果其中任何一个都不确定(这意味着所有三个未传递),则将不执行分配代码。
var mj = function(x, y, z) {
if (x && y && z) {
var xName = x.name;
var yName = y.name;
var zName = z.name;
}
}
mj({
name: "mo"
})
第二个情况
如果您只需要发送一次分配的一次,则可以做:
var mj = function(x, y, z) {
var xName = x && x.name;
var yName = y && y.name;
var zName = z && z.name;
}
mj({
name: "mo"
})
注意:如果未传递值,您将无法获得错误,但是是的,Xname,Yname或Zname将不确定。