在Javascript中动态声明方法

Declare methods dynamically in Javascript

本文关键字:声明 方法 动态 Javascript      更新时间:2023-09-26

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

假设这些是属性:[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 )循环来获取键。

CodePad .