【问题标题】:javascript class.method1.method2 [duplicate]javascript class.method1.method2 [重复]
【发布时间】:2021-02-21 20:18:07
【问题描述】:

我正在寻找类似的东西:

document.getElementById("id").innerText.toString().length;

所以:class.method1().method2().method3();

我的代码:

class Example
{
    method1(){ .. }
    method2(){ .. }
    method3(){ .. }
}

从课外:

var element = new Example();

element.method1(); //works fine
element.method1().method2(); // error: method2 is not defined

有什么办法吗?

谢谢大家:)

【问题讨论】:

  • 这是因为您在 element.method1()(=method1 的返回值)上调用 .method2 而不是 element 本身

标签: javascript


【解决方案1】:

您正在寻找的是一种流畅的界面。要实现这一点,只需将return this; 添加到类中每个方法的末尾即可。

旁注:document.getElementById("id").innerText.toString().length; 不是流畅的接口 - 每个函数/属性返回不同的值。

【讨论】:

  • 但我怎么能做出这样的事情:document.getElementById("id").innerText.toString().length;
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-31
  • 2021-07-23
  • 1970-01-01
  • 2010-09-17
  • 1970-01-01
  • 1970-01-01
  • 2014-07-16
相关资源
最近更新 更多