全局变量在函数中使用时返回未定义
global variable returns undefined when used in a function
当我在func之外定义变量时,它返回undefined。我找不到原因。
document.write(myFunc());
var x = 1;
function myFunc() {
return x;
}
输出:未定义
但是,如果我在函数中定义变量,它可以工作。
document.write(myFunc());
function myFunc() {
var x = 1;
return x;
}
输出: 1
你犯了一个常见的误解。变量和函数声明在执行任何代码之前进行处理,但赋值在代码中按顺序发生。因此,您的代码实际上是:
// Function declarations are processed first
function myFunc() {
return x;
}
// Variable declarations are processed next and initialised to undefined
// if not previously declared
var x;
// Code is executed in sequence
document.write(myFunc());
// Assignment happens here (after calling myFunc)
x = 1;
相关文章:
- 这.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可见元素返回未定义