我有一些基本上是这样的代码:
TestFunction();
const pi = 3.14;
function TestFunction()
{
alert("pi="+pi);
}
由于未定义'pi',因此代码失败。我挠了很长时间,但后来意识到代码不是线性解析的。调用该函数时,已解析函数“ TestFunction”,但尚未解析该常数。
这是在Safari和Chrome中发生的。我不知道所有的浏览器是否都将以相同的方式进行解析。可能对某些人有用。
答案 0 :(得分:1)
在第一次调用该函数之前移动常量的定义即可解决问题。
const pi = 3.14;
TestFunction();
function TestFunction()
{
alert("pi="+pi);
}