当其中一个参数未定义时,如何将设置值绕过变量

时间:2016-12-15 00:25:08

标签: javascript

如果只有一个或两个参数被发送到函数(而不是三个),我怎样才能绕过函数内部变量的设置值。

目前我的代码是这样的:

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"})

1 个答案:

答案 0 :(得分:4)

您可以使用条件JSON.parse(JSON.stringify(o)),如果其中任何一个未定义(这意味着所有三个都未通过),则不会执行分配代码。



(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"
})

注意:如果未传递值,则不会出现错误,但是xName,yName或zName将是未定义的。