为了账号安全,请及时绑定邮箱和手机立即绑定

在对象中引用另一个方法的正确方法

在对象中引用另一个方法的正确方法

千巷猫影 2022-05-14 14:48:35
下面的代码有效,但我的直觉告诉我这不是最简洁的方法。我想使用this.function2()而不是videoControler.function2(),但这不起作用。这是写这个的最好方法吗?const myController = {  function1() {    return res.json({        blah: myController.function2()    })  },  function2() {    return "blah"  }}
查看完整描述

2 回答

?
函数式编程

TA贡献1807条经验 获得超9个赞

一定要查看评论中的@Teemu 链接,但另一种处理方法是使用类。


例如:


class myController {

  constructor(type) {

    this.controllerType = type;

  }


  function1(x) {

    return res.json({

        blah: this.function2()

    });

  }


  function2(x) {

    return "blah";

  }

}

这将遵循 OOP 的属性,您可以在其中实例化一个new myController("video")对象并调用属于该类的函数,也可以在该类之外调用。


查看完整回答
反对 回复 2022-05-14
?
慕神8447489

TA贡献1780条经验 获得超1个赞

在您的示例中,将 myController 替换为 this 将指向当前范围,因此它将不起作用。您应该将 function1 绑定到 myController,并在返回状态对象之外创建对 this 的引用,例如 const self = this;



查看完整回答
反对 回复 2022-05-14
  • 2 回答
  • 0 关注
  • 187 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号