在Javascript中动态声明方法

时间:2011-11-27 03:45:29

标签: javascript node.js

我有一个模型,想要为其上的所有属性声明函数。

让我们说这些是属性:[firstName,lastName]

我希望能够得到它们:

person.firstName()
person.lastName()

如何从字符串数组中以编程方式定义方法?

1 个答案:

答案 0 :(得分:3)

['firstName', 'lastName'].forEach(function(funcName) {
    var prop = person[funcName];    
    person[funcName] = function() {
        return prop;
    }
});

CodePad

如果您事先不知道这些属性,则可以在环境支持的情况下使用Object.keys(),或使用for ( in )循环来获取密钥。

CodePad