创建可重用的链函数javascript
我试图创建可重用的链接功能,但我被卡住了。常见的方法创建可重用的链函数javascript,javascript,method-chaining,chain,Javascript,Method Chaining,Chain,我试图创建可重用的链接功能,但我被卡住了。常见的方法c.plus(5).plus(2).execute()工作得很好,但我不知道如何像下面这样使其可重用。你知道怎么做吗 功能链(){ 这个。i=0; 这个。加号=(x)=>{ 这个.i=这个.i+x; 归还这个; }; this.execute=()=>console.log(this.i); } 常数c=新链(); 常数c1=c加(5); c1.plus(2.execute();//7. c1.execute();//7而不是5当前函数的问题
c.plus(5).plus(2).execute()
工作得很好,但我不知道如何像下面这样使其可重用。你知道怎么做吗
功能链(){
这个。i=0;
这个。加号=(x)=>{
这个.i=这个.i+x;
归还这个;
};
this.execute=()=>console.log(this.i);
}
常数c=新链();
常数c1=c加(5);
c1.plus(2.execute();//7.
c1.execute();//7而不是5
当前函数的问题是,当调用plus()
时,您正在修改原始对象c
中的i
相反,每次调用plus(arg)
时,返回一个新的链
对象,将arg
添加到i
的当前值
顺便说一句,javascript中习惯使用TitleCase
来命名构造函数。通常chain
将是chain
。仅供参考
功能链(){
这个。i=0;
这个。加号=(x)=>{
设c=新链();
c、 i=这个。i+x;
返回c;
};
this.execute=()=>console.log(this.i);
}
常数c=新链();
常数c1=c加(5);
c1.plus(2.execute();//7.
c1.execute();//7而不是5
c、 plus(2).plus(10).execute();//12
当前函数的问题是,当调用plus()
时,您正在修改原始对象c
中的i
相反,每次调用plus(arg)
时,返回一个新的链
对象,将arg
添加到i
的当前值
顺便说一句,javascript中习惯使用TitleCase
来命名构造函数。通常chain
将是chain
。仅供参考
功能链(){
这个。i=0;
这个。加号=(x)=>{
设c=新链();
c、 i=这个。i+x;
返回c;
};
this.execute=()=>console.log(this.i);
}
常数c=新链();
常数c1=c加(5);
c1.plus(2.execute();//7.
c1.execute();//7而不是5
c、 plus(2).plus(10).execute();//12
这是同一个实例,你期望结果是什么?这是同一个实例,你期望结果是什么?没问题。很乐意帮忙!没问题。很乐意帮忙!