js链式调用的奥秘,大力出奇迹。

很多时候,都会使用到链式调用,这类使用一般都是框架封装好的,一个·方法连一个方法,简洁又高效,其本质就是在方法执行完之后,返回当前this,也就是说返回对象本身;
上代码

<script>
			//链式调用
			const vw={
				data:0,
				insert(n,fn){
					this.data=n;
					fn(this.data);
					return this;
				},
				add(fn){
					if( typeof this.data !='number'){
						fn(this.data);
						return this;
					}
					this.data++;
					fn(this.data);
					return this;
				},
				subtract(fn){
					if( typeof this.data !='number'){
						fn(this.data);
						return this;
					}
					this.data--;
					fn(this.data);
					return this;
				},
				ride(fn){
					if( typeof this.data !='number'){
						fn(this.data);
						return this;
					}
					this.data=this.data*this.data;
					fn(this.data);
					return this;
				},
				divide(n){
					if( typeof this.data !='number'){
						fn(this.data);
						return this;
					}
					this.data=this.data/Number(n);
					return this;
					
				}
			}
				
			function App(vw){
				var obj={};
				for(var key in vw){
					obj[key]=vw[key];
					App(vw[key]);
				}
				
				return obj;
			}
			var arr=[1,2,3,4,5]
			let p=new App(vw);
	        p.add((data)=>{
				console.log(data);
			}).subtract(data=>{
				console.log(data);
			}).ride(data=>{
				console.log(data);
			}).add(data=>{
				console.log(data);
			}).insert(arr,(data)=>{
				console.log(data);
			}).add(data=>{
				console.log(add);
			});		
		</script>	
		</script>
		
		

效果
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值