【对编译时和运行时的理解】
对于前端来说
编译时写的代码是给node看的,运行时的代码是给浏览器看的。
由于node和浏览器 (类似虚拟机,Java的JVM)对js代码的处理编译规则不一致以及各自获取到的操作系统权限不同,比如 对事件循环的实现,浏览器特有的BOM, node 可以操作文件系统,这也就导致两个环境对JS代码的解析必然存在不同的理解,存在不同的解析规则。
所以编译时 和 运行时,简单来说 就是在不同环境下 需要遵循 当前环境的规则书写代码,该环境才能理解代码并执行
这是我对 这两个概念的理解,欢迎大家一起来讨论