2016-09-23 89 views
1

我有与我想隐藏其中的一些可以传递object.defineProperty()上的属性数组吗?

var Cons = function(str) { 
    var ab = str.split(' '); 
    this.a= ab[0]; 
    this.b= ab[1]; 
    this.geta = function() { 
    return this.a; 
    }; 
    this.getb = function() { 
    return this.b; 
    }; 
} 

上MDN句法属性/方法的对象:

Object.defineProperty(obj, prop, descriptor) 

我隐藏一些通过使用下面的代码,我想传递一个“道具”上的一些键的数组是可能的?

Object.defineProperty(obj, 'prop', { 
    enumerable: false 
}); 

回答

0

Object.defineProperty只接受作为字符串传入的单个密钥。
简单的解决方案是只是遍历密钥

var keys = ['prop1','prop2','prop3']; 

keys.forEach(function(key) { 
    Object.defineProperty(obj, key, { 
     enumerable: false 
    }); 
}); 
+0

谢谢!我没有想到:/ – learningjavascriptks

相关问题