javascript - "var"全局定义的变量的范围是什么?

标签 javascript

在 Javascript 中,如果我在函数外部的 javascript 中使用 var 声明变量

var foo = 1;
var bar = 2;

function someFunction() {
    ....
}

这些变量是否在文档或窗口的范围内?此外,为什么这很重要?我知道如果声明一个变量时没有使用 var,那么该变量就是全局变量。

有没有一种简单的方法可以让我测试变量是否属于文档或窗口的范围?

最佳答案

var 将变量的作用域限制在定义它的函数内,因此使用 var 在顶层定义的变量实际上具有全局作用域。

如果您为未使用 var 限定作用域的变量分配值,则无论您在何处定义它,该值都将变为全局变量。

这里有一篇关于 javascript 作用域的好文章: What is the scope of variables in JavaScript?

关于javascript - "var"全局定义的变量的范围是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10667425/

相关文章:

javascript - 多级单选按钮

javascript - 获取在 JavaScript 中调用函数调用者的 "this"

javascript - 是否可以用 Javascript 取消用户计算机的静音?

javascript - 从 JavaScript 表单保存数据

javascript - 计算一个数中有多少个数的倍数

javascript - highcharts 将多个值传递给工具提示

javascript - 相当于 Angular 2 中的 Controller

javascript - 如何使用 Jquery 或 Javascript 打印多个 Div?

Javascript - 如何使用基于字符串的变量名声明变量?

javascript - 传单错误 : clearLayers is not a function