我有一个模型,想为它的所有属性声明函数。
假设这些是属性:[firstName, lastName]
我希望能够通过以下方式获得它们:
person.firstName()
person.lastName()
如何通过字符串数组以编程方式定义方法?
最佳答案
['firstName', 'lastName'].forEach(function(funcName) {
var prop = person[funcName];
person[funcName] = function() {
return prop;
}
});
CodePad .
如果您事先不知道这些属性,如果环境支持,您可以使用 Object.keys()
,或者使用 for ( in )
循环获取 key 。
CodePad .
关于javascript - 在 Javascript 中动态声明方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8283500/