检查给定选项的最佳方法是什么?

时间:2016-01-08 16:55:37

标签: javascript object properties

我有一个对象构造函数,它接受一个对象作为它的参数。我需要检查从该对象继承的对象中的特定属性。 像这样的东西:

function Direction(option) {
  this.color = 'red' || option.red;
  this.step = 2;
}

Direction.prototype.getColor = function(){
  return this.color;
}

Direction.prototype.getStep = function() {
  return this.step;
}


//Given options are:
var opt = {
  rStep : 9,
  lStep : 3,
  rColor : 'green',
  lColor : 'yellow'
}

var childmaker = function(op){
  
  //here I used some if statement for checking needed properties
  //r_opt
  //l_opt
  
  var right = new Direction(r_opt);
  var left = new Direction(l_pt);

}

childmaked(opt);

如果选项变大,我可以检查?

2 个答案:

答案 0 :(得分:1)

您可以使用

检查对象的属性
if(myObject.hasOwnProperty('propName') && myObject.propName === 'someValue'){
//do something
}

答案 1 :(得分:1)

您可以拥有一系列要检查的选项/属性键后缀。称之为suffixes

然后你可以循环它们for(var suffix in suffixes){}并使用typeof(op['r'+suffix])=='undefined'检查它是否在传递的对象上定义