javascript - 在 Javascript 中动态声明方法

标签 javascript node.js

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

假设这些是属性:[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/

相关文章:

node.js - Google Cloud Translate Advanced (V3) 中的 "parent"参数是什么

node.js - Geddy - 创建新项目

javascript - 如何更改使用 querySelectorAll 选择的元素

javascript - 从服务器加载的js文件不起作用,但本地加载可以起作用

Javascript列表对象无法添加JSON? Node.JS、Firebase

node.js - 在 meteor 中,如何创建具有不同房间的唯一网址的多聊天室应用程序?

node.js - bootstrap 和 npm - 如何在项目中仅导入 "reboot.scss"文件?

javascript - Magento 可配置产品下拉菜单 - 必须将 "Price Difference - +"更改为实际价格

javascript - 如何在 ReactJS 中显示数组中的 HTML

javascript - 为什么卡片在 Javascript ES6 "Game of War"中丢失?