Javascript 范围:为什么 foo 返回未定义
Javascript scope : why foo returns undefined?
我在小提琴中尝试了这个片段,它返回未定义,但根据这本书 https://github.com/getify/You-Dont-Know-JS/blob/master/scope%20&%20closures/ch1.md 它应该返回 4 所以这是怎么回事?
function foo(a) {
console.log( a + b );
}
var b = 2;
document.write(foo( 2 )); // undefined instead of 4
如 MDN 页面中所述:
当在函数中调用 return 语句时,执行此语句 函数已停止。如果指定,则给定值将返回到 函数调用方。如果省略表达式,则返回未定义 相反。
让我们看看你的代码>
你有一个函数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;
}
你的函数没有返回一个值,而是你应该这样做:
function foo(a) {
return a + b;
}
var b = 2;
document.write(foo( 2 ));
或者只是执行foo(2);
并检查控制台以获取正确的数字。
你在函数foo中执行一个不返回任何内容的console.log
。你应该return a + b
.
相关文章:
- 这.SOMETHING 总是返回未定义的 - extjs
- React+Meteor:this.ops返回未定义
- 解析-为什么user.getSessionToken()返回未定义的结果
- Javascript函数返回未定义
- JavaScript-获取数据属性的值返回未定义的值
- .val()返回未定义的.text返回随机代码
- 为什么innerHTML返回“未定义”
- "这个“;正在返回未定义的
- 谷歌地图:函数返回未定义的值在console.log中运行良好
- Javascript json返回未定义
- importScripts在web工作程序中返回未定义的
- 访问嵌套 json 对象的属性将返回未定义
- NativeAppEventEmitter返回未定义的
- 我的函数返回“未定义”
- 新手Javascript函数返回未定义的石头剪刀游戏
- Nodejs模块函数返回未定义的,而不是异步的
- .getElementById在.createTextNode中返回未定义
- javascript函数不返回未定义的值
- Typeahead的Javascript类型返回未定义
- Javascript可见元素返回未定义