登录
首页 >  文章 >  前端

JavaScript 中链式调用是如何实现的?

时间:2024-12-03 21:19:03 335浏览 收藏

文章小白一枚,正在不断学习积累知识,现将学习到的知识记录一下,也是将我的所得分享给大家!而今天这篇文章《JavaScript 中链式调用是如何实现的?》带大家来了解一下##content_title##,希望对大家的知识积累有所帮助,从而弥补自己的不足,助力实战开发!


JavaScript 中链式调用是如何实现的?

javascript 中链式调用的实现

在 javascript 中,链式调用是指函数可以连续地在一个表达式中调用,而无需使用临时变量的方法。

要实现链式调用,可以采用以下方法:

使用链式调用接受“this”对象

通过使用 this 关键字,可以将对象本身作为函数的参数。

function sint(a, b) {
  this.val = a + b;
}

sint.prototype.j = function(e) {
  return this.val + e;
}

在函数内部定义链式调用

通过在函数内部定义另一个函数,可以实现链式调用。

function sint(a, b) {
  this.val = a + b;

  this.j = function(e) {
    return this.val + e;
  }
}

使用 es6 proxy 绑定 symbol.toprimitive

通过使用 es6 proxy,可以绑定 symbol.toprimitive 方法,使其在参与计算时返回所需的值。

function sum(...args) {
  this.value = args.reduce((a, b) => a + b, 0);

  return new proxy(this, {
    get: function (target, prop) {
      if (prop === symbol.toprimitive) {
        return () => target.value;
      }

      return target[prop];
    }
  });
}

sum.prototype.add = function (value) {
  this.value += value;
  return this;
}

使用示例

// Sint 方法
console.log(Sint(1, 2).j(10)); // 13

// ES6 Proxy 方法
console.log(new Sum(1, 2, 3).add(4).add(5)); // 15
console.log(new Sum(1, 2, 3).add(4).add(5) + 20); // 35

终于介绍完啦!小伙伴们,这篇关于《JavaScript 中链式调用是如何实现的?》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布文章相关知识,快来关注吧!

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>