为什么全局变量无法访问,即使稍后在代码中定义了局部变量
why is global variable not accessible even if local variable is defined later in code
为什么下面的代码段会生成以下输出?
代码段:
var a = 10;
function(){
console.log(a);
var a = 5;
}
输出:
undefined
因为变量被提升在顶部,在你的函数中,你已经声明了变量var a = 5,它与下面相同:
var a = 10;
function(){
var a; // a = undefined
console.log(a);//a is not defined so outputs undefined
a = 5;
console.log(a);//a is now 5 so outputs 5
}
在您的函数作用域中,var 正在声明它看不到全局变量,而是局部变量,即 var a 并且未定义。
相关文章:
- 如何消除代码中的未定义和其他问题
- 为什么这个JS代码打印未定义
- .val()返回未定义的.text返回随机代码
- 为什么这个代码没有定义,但没有2
- 在一个JavaScript文件中解析云代码定义和作业
- AngularJS中货币过滤器的Javascript代码无法使用自定义符号
- Javascript - 错误“未定义不是函数”在以前工作的代码上引发
- 未捕获的引用错误:添加网络代码时未定义 $
- 未捕获的引用错误:添加未在javascript代码中定义
- 联系表单代码自定义
- 未定义的索引-表单不通过javascript将值发送到php代码
- *简单*解析云代码查询失败”;TypeError:无法调用方法'获取'未定义的“检索该信息”;
- 为什么此代码返回未定义的4次而不是数组值
- 如何将自定义代码与drupal合并
- 代码引发异常'未定义[specific_method];
- 在D3插件sankey.js和html代码之间定义源代码
- AJAX 代码定义错误或不响应
- 创建一个数组并输出其代码定义以进行预加载
- 谁能解释给我这个JavaScript代码定义一些变量和循环通过他们
- Angular 2 -示例代码-定义模型属性Undefined