当一个参数之一不确定时,如何绕开设置值



在只有一个或两个参数发送到函数的情况下,我如何绕过函数内的变量设置值(而不是三个)。

目前我的代码是这样的:

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将不确定。

最新更新