欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 八卦 > JavaScript方法链

JavaScript方法链

2024/10/24 21:29:11 来源:https://blog.csdn.net/weixin_42952508/article/details/141828863  浏览:    关键词:JavaScript方法链

前言

在JavaScript中,方法链(Chaining Methods)是一种编程技术,允许你在一个表达式中连续调用多个方法。这通常通过让每个方法返回对象自身(this)来实现,从而可以在同一行上依次调用多个方法。

● 例如,如果我们想进行一系列操作,例如存款500,取款35,贷款1000,取款500;

ITshare.deposit(500).withraw(35).requestLoan(1000).withraw(500);

在这里插入图片描述

我们发现这样做是完全行不通的,我们需要再方法中返回自身来实现支持链式调用

class Account {//公有字段(例子,实际与之前写法作用一样)locale = navigator.language;//私有字段#movements = [];#pin;constructor(owner, currency, pin) {//参数中不可以直接为私有字段this.owner = owner;this.currency = currency;this.#pin = pin;console.log(`欢迎来到你的账户,${owner}`);}//公共接口getMovements() {return this.#movements;}deposit(val) {this.#movements.push(val);return this; // 返回当前对象以支持链式调用}withraw(val) {this.deposit(-val);return this; // 返回当前对象以支持链式调用}requestLoan(val) {if (this.#approveLoan(val)) {this.deposit(val);console.log('恭喜你!贷款成功');}return this; // 返回当前对象以支持链式调用}//私有方法#approveLoan(val) {return true;}
}const ITshare = new Account('ITshare', 'EUR', '21211');
ITshare.deposit(250);
ITshare.withraw(120);
ITshare.requestLoan(1000);
console.log(ITshare);
ITshare.deposit(500).withraw(35).requestLoan(1000).withraw(500);

在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com