JavaScript对象表示法-在同一个对象中使用方法



我在试验node.js,我有一组使用module.exports导出的方法,但其中一些方法是为了对同一对象进行可重用的,但我不知道如何进行。在PHP中,我会简单地引用this。我知道this可以在原型对象中引用,但在JavaScript对象符号中也可以这样做吗?

示例代码:

module.export = {
foo: (a, b) => {
return a + b;
},
bar: () => {
return foo(2, 5); // This is where i run into problems, using 'this' has no effect.
}
}

您可以在JavaScript中使用this关键字。您将要做的唯一其他更改是使用实际函数而不是箭头函数,因为箭头函数不会捕获this范围。

这是MDN页面中关于箭头函数的一句话。

箭头函数表达式的语法比函数表达式短,并且没有自己的this、arguments、super或new.target。

因为它没有自己的this,所以在这种情况下不能使用箭头函数。

下面是一个如何重构代码以按照预期方式工作的示例。

module.export = {
foo: function (a, b) {
return a + b;
},
bar: function () {
return this.foo(2, 5);
}
}

相关内容

  • 没有找到相关文章