首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >javascript隐式全局变量

javascript隐式全局变量
EN

Stack Overflow用户
提问于 2016-05-17 02:11:08
回答 1查看 1.6K关注 0票数 3

我在火狐控制台上尝试了这段代码,它抛出了一个ReferenceError:

代码语言:javascript
复制
var func = function (){
  bim = "implicit global";
};
alert(bim);
ReferenceError: bim is not defined

在javascript中,如果你设置了一个变量而没有声明它(使用"var“关键字),那么这个变量就会被定义在最外层的窗口中(即:浏览器上的LexicalEnvironment对象)。那么为什么我不能从函数外部访问变量呢?我曾经能够做到这一点。我知道这不是最好的做法,但我想知道是什么改变了。我在ES6上读到了"let“和"const”,但这是否意味着隐式全局变量不再存在?我没有使用“严格模式”,只是在控制台上直接输入而已。

提前感谢!!

EN

回答 1

Stack Overflow用户

发布于 2019-04-02 22:39:50

你得到这个错误的原因是因为你还没有执行这个函数,正确的写法是:

代码语言:javascript
复制
var func = function(){
    bim = "implicit global";
};

func();
alert(bim);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37260454

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档