javascript - 在 JavaScript 中,哪些代码在运行时执行,哪些代码在解析时执行?

标签 javascript runtime

特别是对于对象,我不明白对象的哪些部分在初始化之前运行,哪些部分在初始化时运行以及哪些部分在初始化后运行。

编辑:似乎解析时间是错误的词。我想我应该提出这样一个问题:“在两次读取中,第一遍读取什么,第二遍读取什么?”

最佳答案

JavaScript 文件以 2 遍读取的方式运行。第一遍解析语法并收集函数定义,第二遍实际执行代码。通过注意到以下代码的工作原理可以看出这一点:

foo();

function foo() {
  return 5;
}

但以下内容则不然

foo(); // ReferenceError: foo is not defined

foo = function() {
  return 5;
}

但是,了解这一点并没有多大用处,因为第一遍中没有任何执行。您根本无法利用此功能来改变您的逻辑。

关于javascript - 在 JavaScript 中,哪些代码在运行时执行,哪些代码在解析时执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4023706/

相关文章:

javascript - 可拖动图像未进入 Canvas

runtime - 如何跟踪尖峰中的动态指令(在 RISC-V 上)

java - 如何在运行时加载接口(interface)的实现并调用该类的方法?

python - 在 python 中解释汉明距离速度

java - 是否可以获取一个类的所有子类?

javascript - 使用带有 Javascript 代码的类在 span 元素之间包装特定文本

javascript - select2 jquery 插件重置具有预选项目的选择元素

javascript - Bootstrap UL 上的动态文本框 - 无法键入

javascript - jQuery 中的精确文本匹配

Java Spring 在运行时添加或删除 @Component 是可能的吗?