[英]What is the best way to check for given options?
我有一個對象構造函數,將對象作為參數。 我需要檢查從該對象繼承的對象中的特定屬性。 像這樣的東西:
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);
如果選項變大,我該如何檢查?
您可以使用檢查對象的屬性
if(myObject.hasOwnProperty('propName') && myObject.propName === 'someValue'){
//do something
}
您可以具有要檢查的選項/屬性鍵后綴的數組。 稱其為suffixes
然后,您可以遍歷它們的for(var suffix in suffixes){}
並使用typeof(op['r'+suffix])=='undefined'
檢查是否在傳遞的對象上定義了它們
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.