开发者社区 问答 正文

js var到底有几层意思

如下一段代码:

 var a = 'a';

 say();

 function say() {
     console.log(a);
     var a = 'b';
     cosnole.log(a);
 }

为何会返回undefined?

展开
收起
小旋风柴进 2016-06-01 12:38:46 2209 分享 版权
2 条回答
写回答
取消 提交回答
  • var 在作用域内,变量声明提升。

    2019-07-17 19:23:04
    赞同 展开评论
  • var申明的变量会预定义赋值为undefined,访问的并不是window下的a,你的代码等价于下面的

      function say() {
       var a=undefined;
         console.log(a);
         a = 'b';
         cosnole.log(a);
    2019-07-17 19:23:04
    赞同 展开评论
问答分类:
问答标签:
问答地址: