我想知道还有别的办法吗??Javascript
我在寻找另一种方法来代替这句话。 (counter.set=(value)=>count=value;counter.decrease=()=.count--) 我该怎么做我想知道还有别的办法吗??Javascript,javascript,function,Javascript,Function,我在寻找另一种方法来代替这句话。 (counter.set=(value)=>count=value;counter.decrease=()=.count--) 我该怎么做 function makeCounter() { let count = 0; function counter() { return count++ } // Issue -- counter.set = (value) =>
function makeCounter() {
let count = 0;
function counter() {
return count++
}
// Issue --
counter.set = (value) => count = value;
counter.decrease = () => count--;
// End of issue --
return counter;
}
let counter = makeCounter();
alert( counter() ); // 0
alert( counter() ); // 1
counter.set(10); // set the new count
alert( counter() ); // 10
counter.decrease(); // decrease the count by 1
alert( counter() ); // 10 (instead of 11)
你可以去上课
类计数器{
构造函数(){
此值为0.count;
}
设置(值){
this.count=值;
}
增加(价值){
此值为.count+=(值| | 1);
}
减少(价值){
this.count-=(值| | 1);
}
}
常量计数器=新计数器();
控制台日志(计数器计数);
计数器增加();
控制台日志(计数器计数);
计数器增加();
控制台日志(计数器计数);
计数器。增加(10);
控制台日志(计数器计数);
计数器。减少();
控制台日志(计数器计数);
计数器。减少(2);
控制台日志(计数器计数)代码>您需要使用新关键字来更改它。。。也可以使用类
class makeCounter {
constructor(){
this.count = 0;
}
function counter() {
return count++
}
set(value){ this.count = value;}
decrease(){this.count-- ;}
}
let counter =new makeCounter();
alert( counter() ); // 0
alert( counter() ); // 1
counter.set(10); // set the new count
alert( counter() ); // 10
counter.decrease(); // decrease the count by 1
alert( counter() ); // 10 (instead of 11)
很清楚,有什么问题吗?欢迎来到StackOverflow。如果代码是功能性的,那么这主要是基于观点的,因此脱离主题。对于这种类型的问题,有一个名为“代码审查”的StackExchange站点。投票关闭此功能。通常,这将使用带有原型的类或对象来完成,而不是向函数添加属性。