javascript - 请解释一下javascript中的自动全局

标签 javascript

我无法理解自动全局背后的想法。我正在阅读以下内容: https://www.w3schools.com/js/js_scope.asp

https://www.w3schools.com/js/tryit.asp?filename=tryjs_local_global

调用函数 myFunction()。如果我删除此调用,它不会显示任何内容。我不明白为什么需要调用 myFunction() 才能使 myFunction() 中未声明的变量自动成为全局变量。看起来不是那么直观。

最佳答案

表达

var varName = 'value';

使用 var varName 声明变量,然后使用 = 'value' 为其分配值“value”

表达式

varName = 'value';

只是将值'value'分配给之前应该声明的变量'varName'

所以

function a() {
   var varName = 'a'
}

在本地声明变量varName并使用'a'启动它 但是

function b() {
   varName = 'b'
}

只需为变量varName 分配值'b'。但变量 varName 需要在 paren 全局范围内声明。

关于javascript - 请解释一下javascript中的自动全局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53330616/

相关文章:

javascript - 创建键值 JavaScript 值

javascript - 为什么我的函数返回这个奇怪的输出?

JavaScript var 位于字符串内

javascript - 请给我一些javascript练习

javascript - 使等宽文本尽可能大而不会导致溢出或换行

javascript - Node.js 什么时候开始提供 ES6 类的?

javascript - JavaScript 中的对象比较

javascript - 在我的案例中如何使用 Angular 框架填充数据?

javascript - 使用 jquery 将 DOM 数据附加到一行

javascript - 单击新元素时折叠分层导航,Bootstrap 4