在看<<你不知道的Javascript(上卷)>>的第一章(作用域是什么)的时候,有这么一句话:"任何javascript代码片段在执行前都要进行编译(通常就在执行前).因此,javascript编译器首先会对var a = 2;这段程序进行编译,然后做好执行它的准备,并且通常马上就会执行它."
在这句话中javascript代码片段应该指的是var a = 2; 如果我在浏览器的开发者工具中(F12->console)输入了以下代码:
var t = 1, s = 4;
function sum(a, b) {
return a+b;
}
sum(s,t);
(注意输入过程中没有按enter键),是不是意味着整个这一块都是javascript代码片段,会将其整个编译之后再执行?
还有一种情况是把js代码写在一个文件中,那这时的代码片段又是什么?javascript的编译和执行过程又是怎样?
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
(仅供参考)我的理解:代码片段为当前作用域中代码,如果执行一个函数,则把这个函数中的代码当作一个代码片段。
第一个代码片段(全局):
编译阶段—————声明了变量a,函数b
执行阶段—————运行函数b
第二个代码片段(b函数):
编译阶段—————声明变量a, c
执行阶段—————