JS中代码执行流程

预编译过程:语法检测
预编译如果出错(编译错误),则当前整个script中的代码不执行,继续寻找下一个script标签
执行过程:预编译通过,在一行一行从上到下执行代码
执行过程中,如果有错误(执行错误),当前这个script标签中出错之前的代码正常执行,之后的代码不执行,继续寻找下一个script标签

变量可以先使用在声明,函数可以先使用在定义

执行代码之前先进行变量的提升,在执行函数预加载。如:

var f1 = 100;
function f1() {
  console.log(200);
}
//现在f1是什么(f1是100)
console.log(f1)

提升之后变量的声明函数的定义提到最前面,然后进行赋值操作

var f1;
function f1() {
  console.log(200);
}
console.log(f1)//这里f1是函数
f1 = 100;
console.log(f1)//这里f1是100,把函数覆盖了

如果存在同名的变量和函数始终是后来的覆盖前面的(这里的后来是进行变量和函数提升之后)

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容