我正在尝试学习JS中的回调,我不明白为什么以下代码不起作用:
function timer(){
let count = 0;
return function (){
function inc(){
count++;
}
function getCount(){
return count;
}
}
}
let t = timer();
t.inc();
t.inc();
t.inc();
console.log(t.getCount());
答案 0 :(得分:1)
return
对象。你可以像这样使用
inc
和getcount
私有函数不在返回对象函数中。因此它不会返回。
function timer() {
let count = 0;
return {
inc : function() {
count++;
},
getCount : function() {
return count;
}
}
}
let t = timer();
t.inc();
t.inc();
t.inc();
console.log(t.getCount());

答案 1 :(得分:0)
因为你的计时器功能会返回一个函数但在里面它不会返回任何东西
这是更正
function timer(){
let count = 0;
return {
inc :function(){
count++;
},
getCount :function (){
return count;
}}
}
let t = timer();
t.inc();
t.inc();
t.inc();
console.log(t.getCount());