javascript - 全局变量在下面的 javascript 函数中未定义

标签 javascript parsing variables scope

我有一些代码基本上是这样的:

TestFunction();
const pi = 3.14;

function TestFunction()
{
    alert("pi="+pi);
}

代码失败,因为“pi”未定义。我挠了挠头很长时间,但后来意识到代码没有被线性解析。调用函数时,解析了函数“TestFunction”,但尚未解析常量。

Safari 和 Chrome 会出现这种情况。我不知道是否所有浏览器都会以相同的方式解析。它可能适用于某些人。

最佳答案

在第一次调用函数之前移动常量的定义解决了问题。

const pi = 3.14;

TestFunction();

function TestFunction()
{
    alert("pi="+pi);
}

关于javascript - 全局变量在下面的 javascript 函数中未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51955873/

相关文章:

javascript - 沿最佳圆周分布 n 组圆

javascript - 如何从嵌套的 JSON Array 对象中获取具有最大值的元素

parsing - 适当的高级语言来处理二进制数据

objective-c - 在另一个方法中使用在 viewDidLoad 中创建的 NSString 变量

java - 扫描仪给出相同的值 2x 而不是 1

javascript - MomentJs 给出了错误的月份

javascript - 检查主页是否使用 window.location

java - 如何使用正则表达式从字符串中解析数字

c# - 解析测量单位

javascript - 有人可以帮我理解这个例子中引号的位置吗?