javascript - 如何将函数的结果存储在同一个对象中?

标签 javascript

问题:我创建了一个包含 2 个命名值的对象。一个是函数,另一个是函数产生的值。我的问题是我无法弄清楚第二个命名值的语法。我该如何引用它?我到处寻找,但找不到可以学习的类似示例对象。非常感谢!

var answer = {
    addNumbers: function(a, b, c) {
        return a + b + c;
    },
    result: answer.addNumbers;  //I'm not sure what the syntax is for this line.
};

最佳答案

我不太明白你想要做什么,但如果你想在每次执行函数时存储结果,你可能需要这样做:

var answer = {
    addNumbers: function(a, b, c) {
        this.result = a + b + c;
        return this.result;
    },

    result:0
};

我想我会稍微解释一下 JSON:

一般来说,您只需列出一些属性即可。在这里,我们指定 addNumbersresult 并为其赋值。

addNumbers 的值是一个 Function 对象(因此可调用),result 的值是一个 Number code>-object(在本例中为0)。

您现在可以通过调用 answer.addNumbers(1,2,3) 来执行 addNumbers。发生这种情况时,函数体的 {} 之间的所有内容都会被执行,包括 this.result 的新赋值。

这个主题还有更多内容,特别是在几种情况下如何解决this,但这超出了本答案的范围。

关于javascript - 如何将函数的结果存储在同一个对象中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46995863/

相关文章:

Javascript 安全风险?

javascript - 如何在 html 中获取 JavaScript 函数

javascript - JSLint 错误 : "unnecessary else after disruption"

javascript - 如何使用 Bootstrap Vue 在悬停时打开选择下拉菜单

javascript - 循环遍历对象数组并返回这些对象的累积数据

javascript - JQuery 和响应式(Reactive) Meteor 组件

javascript - 如何使用 javascript 替换变量中的所有空格、逗号和句点

javascript - JS 控制台告诉我定义的函数不是函数

javascript - 如何开始在 Chrome 上制作像愤怒的小鸟这样的游戏

javascript - 如何改变div的宽度?