javascript - 从对象函数内部获取函数

标签 javascript oop

我一直在学习 OOP 并使用 JavaScript,并且想知道如何让看起来像这样的东西工作......

function myApp(){

   this.nav = function(){

      function toggle(state = 'show'){
          //toggle nav code...
      }

   toggle(); 
   }


}

var app = new myApp();
app.nav();

如何像这样从这里访问切换功能......

app.nav().toggle('hide');

最佳答案

您需要返回
这是一个例子:

function myApp(){
    this.nav = function(){
    this.toggle = function(state = 'show'){
      console.log(state);      
    }   
    this.toggle();
    return this;
  }
}

const app = new myApp();
app.nav(); // show
app.nav().toggle('hide'); // show hide

您还需要将函数附加到对象(this.toggle)。
希望这有帮助。

关于javascript - 从对象函数内部获取函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40444819/

相关文章:

ruby - 如何创建具有相同对象 ID 的 Ruby 类

java - Java中如何正确使用多态调用正确类的方法

javascript - 从异步调用访问成员方法

javascript - 所有 JavaScript 函数类型?

javascript - z-index 在 Chrome 中不工作,在 FF、IE 等中工作

javascript - JS OOP 外部原型(prototype)函数调用(作用域)

c++ - 一个类应该能够输出其内容还是另一个类应该这样做?

javascript - 调试 Firebug 中的错误消息

javascript - Firestore != 查询错误 : Argument of type '"! ="' 无法分配给类型为 'WhereFilterOp' .ts(2345) 的参数

javascript - 闭包在类方法上的工作方式是否相同?