javascript - 想要将属性名称作为函数中的参数传递。在 Javascript 中

标签 javascript

<分区>

我在 Javascript 中有以下代码...

var obj1 = {bob: 0, fred: 0};
var obj2 = {bob: 1, bill: 1};

function testTheory(attr) {
    obj1.attr += 1;
    obj2.attr += 2;
}

testTheory("bob");

我有非常相似的 PHP 代码,运行良好。 testTheory 函数应采用字符串“bob”并尝试将其用作 obj1 和 obj2 的属性。有没有办法在 Javascript 中完成这个?问题的目的是我有多个具有相似属性列表的对象,我需要对一些属性进行总计。与其使用分别对“bob”属性和“bill”属性求和的单独函数,不如简单地传递我想要求和的属性的名称并将它们相加。我很容易就能在 PHP 中使用它,但在使用 Javascript 时遇到困难。

最佳答案

你可以这样做,javascript 中的语法略有不同。

function testTheory(attr) {
    obj1[attr] += 1;
    obj2[attr] += 2;
}

您在属性周围使用方括号。 (旁注:这也适用于对象上的函数。)

object[functionName](parameter); //same as object.functionName(parameters)

关于javascript - 想要将属性名称作为函数中的参数传递。在 Javascript 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24774501/

相关文章:

javascript - 为什么在实例化任何对象之前重新定义 Function.prototype 如此重要?

javascript - JQuery 和 Fancybox 单击图像打开新页面/链接(更新现有代码)

javascript - 当文件类型匹配时,将 <a> 标签替换为 <audio tags>

javascript - 号码跟踪实现

javascript - 单击鼠标启动动画 gif,从第一帧开始

javascript - 为什么我的 Canvas 上的图像在没有文本覆盖的情况下被下载?

javascript - bootstrap uncaught typeError : $(. ..).timepicker 不是一个函数

javascript - Grunt 任务在我的控制台中生成一个循环

javascript - 在计时器上更改 jQuery 中的 CSS 背景颜色

JavaScript 回调