在javascript中,为什么在我返回console.log时显示而在我返回时不显示

在javascript中,为什么在我返回console.log时显示而在我返回时不显示,javascript,return,console.log,Javascript,Return,Console.log,对Javascript来说相当陌生,所以尽量不要攻击太多:)。这是我试图解决的挑战。当我console.logit时,它会返回我正在查找的内容,但当我用return替换console.log时,它不会返回任何内容。有人能帮忙澄清一下吗?多谢各位 我的挑战是: 编写一个函数,callTimes,返回一个新函数。新函数应该返回调用它的次数 函数调用时间(){ 让计数=0; 返回函数内部(){ 计数++; console.log(计数) } 返回内部 } 设myNewFunc1=callTimes(

对Javascript来说相当陌生,所以尽量不要攻击太多:)。这是我试图解决的挑战。当我
console.log
it时,它会返回我正在查找的内容,但当我用return替换
console.log
时,它不会返回任何内容。有人能帮忙澄清一下吗?多谢各位

我的挑战是:

编写一个函数,
callTimes
,返回一个新函数。新函数应该返回调用它的次数

函数调用时间(){
让计数=0;
返回函数内部(){
计数++;
console.log(计数)
}
返回内部
}
设myNewFunc1=callTimes();
设myNewFunc2=callTimes();
myNewFunc1();//=>1.
myNewFunc1();//=>2.
myNewFunc2();//=>1.

myNewFunc2();//=>2在第二个示例中,数字返回正确,但没有显示在控制台中

这是因为
return
不会记录任何内容<代码>返回
是语言的一部分,而不是调试器工具

当您
返回
某个值时,该值返回给调用者,并允许调用者使用该值执行更多操作,例如,进行数学运算、存储到变量、传递到另一个函数、调用(就像从
callTimes()
返回的函数一样)

因此,要在控制台中查看这些值,请在返回后记录它们:

函数调用时间(){
让计数=0;
返回函数内部(){
计数++;
返回计数//1
console.log(myNewFunc1());//=>2
console.log(myNewFunc2());//=>1

console.log(myNewFunc2())//=>2
您在哪里以及如何尝试此功能?我在repl.it中尝试过。是的,我有点傻了。非常感谢。谢谢。我做到了,并且成功了,但我不明白为什么我刚刚使用return时它没有显示。我想我得到了答案,它返回了它,但没有记录它。谢谢again@Scottburs我很高兴我能d帮助:d是的,当您在JS中返回一个值时,您将返回该值以执行其他操作:然后最终以某种方式显示它(或不显示)。因此,
return
只返回它(没有记录完成)。顺便说一句,如果它有助于使用旁边的灰色勾号,您可以接受答案。。。