Javascript 解析/评估顺序?

标签 javascript

这可能是一个棘手的问题,但我不明白为什么会这样:

<script type="text/javascript">
    alert(foo);
    function foo() { }
</script>

这会警告“function foo() { }”,但我希望在定义函数 foo 之前评估该警报。有人可以解释一下我对解析/评估顺序的不理解,或者指出我不理解的资源吗?

最佳答案

JavaScript 与 PHP 一样,在代码运行之前跟踪顶级 function 声明。 但是,您可以通过使用分配来绕过自动功能:

var a = function a() { }

关于Javascript 解析/评估顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2742195/

相关文章:

javascript - 如何加载 Gist 代码而不会出现异步错误

javascript - object-fit 的替代选项 :contain for IE

javascript - 使用 onload 函数禁用按钮,javascript

javascript - JS 函数不更新 HTML 字符串

javascript - 编码挑战,尝试递归解决。使用 Closure 进行缓存帮助

javascript - 如何用数字数组过滤对象数组

javascript - jquery选择和取消选择多个输入而无需ctrl单击

javascript - 解析查询错误 - 400 : Bad request upon data insertion

javascript - 谷歌融合表纬度,经度而不是位置

javascript - 将数组从服务传递到 Controller