我有一个对象构造函数,它接受一个对象作为它的参数。我需要检查从该对象继承的对象中的特定属性。 像这样的东西:
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);
如果选项变大,我可以检查?
答案 0 :(得分:1)
您可以使用
检查对象的属性if(myObject.hasOwnProperty('propName') && myObject.propName === 'someValue'){
//do something
}
答案 1 :(得分:1)
您可以拥有一系列要检查的选项/属性键后缀。称之为suffixes
然后你可以循环它们for(var suffix in suffixes){}
并使用typeof(op['r'+suffix])=='undefined'
检查它是否在传递的对象上定义