Javascript作用域:为什么foo返回未定义的?
我在fiddle中尝试了这个片段,它返回未定义的值,但根据本书,它应该返回4,所以怎么了Javascript作用域:为什么foo返回未定义的?,javascript,Javascript,我在fiddle中尝试了这个片段,它返回未定义的值,但根据本书,它应该返回4,所以怎么了 function foo(a) { console.log( a + b ); } var b = 2; document.write(foo( 2 )); // undefined instead of 4 您的函数没有返回值,您应该执行以下操作: function foo(a) { return a + b; } var b = 2; document.write(foo(
function foo(a) {
console.log( a + b );
}
var b = 2;
document.write(foo( 2 )); // undefined instead of 4
您的函数没有返回值,您应该执行以下操作:
function foo(a) {
return a + b;
}
var b = 2;
document.write(foo( 2 ));
或者只执行foo(2)编码>并检查控制台是否有正确的号码。如中所述:
在函数中调用return语句时,此
功能停止。如果指定,则会将给定值返回给
函数调用者如果省略表达式,则返回undefined
相反。
在函数foo中执行console.log
,该函数不返回任何内容。您应该返回a+b
让我们看看您的代码>
您有一个函数foo,它是当前函数,只显示a和b的和。
它不是1。把它存放在任何地方
2.还它。需要调用函数来执行某些任务并返回某些内容
console.log()
function foo(a) {
console.log( a + b );
}
您应该做的是计算foo()中所做的数学运算,或者将其存储在变量中并返回它
function foo(a){
c = a + b;
console.log(c); //If you want to display it in the console in the first place.
return c;
}
使用return
而不是console.log