ran*_*ble 21 javascript runtime
特别是对象,我不明白对象的哪些部分在初始化之前运行,什么在初始化时运行以及什么时候运行.
编辑:似乎parsetime是错误的单词.我想我应该制定一个问题"在2遍读取中,第一遍读取什么,第二遍读取什么?"
Gar*_*eth 32
javascript文件以2遍读取方式运行.第一遍解析语法并收集函数定义,第二遍实际执行代码.通过注意以下代码可以看到这一点:
foo();
function foo() {
return 5;
}
Run Code Online (Sandbox Code Playgroud)
但以下没有
foo(); // ReferenceError: foo is not defined
foo = function() {
return 5;
}
Run Code Online (Sandbox Code Playgroud)
但是,这并不是很有用,因为第一遍中没有任何执行.您根本无法使用此功能来更改逻辑.
与 C++ 不同,不可能在 Javascript 解析器中运行逻辑。
我怀疑您是在询问哪些代码立即运行以及哪些代码在创建每个对象实例时运行。
答案是,您调用的函数中的任何代码只会在调用该函数时运行,而函数外部的任何代码都会立即运行。
| 归档时间: |
|
| 查看次数: |
9589 次 |
| 最近记录: |