javascript 中链式调用的实现
在 javascript 中,链式调用是指函数可以连续地在一个表达式中调用,而无需使用临时变量的方法。
要实现链式调用,可以采用以下方法:
使用链式调用接受“this”对象
立即学习“Java免费学习笔记(深入)”;
通过使用 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 中链式调用是如何实现的?的详细内容,更多请关注抖狐科技其它相关文章!
-
濡沫江湖如何提升内力到1000 濡沫江湖内力提升具体数值方法
想要提升角色内力值?升级内功就有解!php小编西瓜整理了s到e级内功的详细加成,方便你快速掌握提升内力的秘诀。无论是学习新内功还是升级现有的内功,都能让你角色的内力值大幅提升。想要了解具体加成数值,快...
-
Java函数式编程中递归与迭代式编程的优缺点对比
Java 函数式编程中递归与迭代式编程的优缺点对比 函数式编程提供了一种强大的编程范式,强调不可变性、纯函数和惰性求值。在 Java 函数式编程中,递归和迭代是两种常用的编程范式。它们各有优缺点,在不...
-
《黑神话 悟空》1.0.9.15179更新 再入轮回后可购细金线
今日(9月19日),《黑神话 悟空》于16:00在Epic平台发布了1.0.9.15179 更新公告,其它平台亦将陆续更新。主要更新内容: 修复在PC版本中,如果Windows的系统语言为土耳其语,可...
-
《英雄的安息》登陆PC 城镇建造经营模拟
Vanargand Games制作并发行,一款城镇建造经营模拟新游《英雄的安息》登陆PC(Steam/Epic Games)平台正式推出,限时八折优惠,本作暂不支持中文。《英雄的安息》:Steam地址...
-
归龙潮疾行试炼一怎么速通 归龙潮疾行试炼一速通指南
对于归龙潮游戏,小伙伴们肯定都积攒了各种问题,但是不知道去哪解决,如果想要了解归龙潮疾行试炼一怎么速通内容的小伙伴可以来php中文网小编这里了解一下,这样的话在玩游戏的时候会更加轻松哦! 归龙潮疾行试...