浏览器学习笔记-JS执行

变量提升

  1. 变量提升原理
    浏览器对js是先编译后执行,在编译过程中,js中的变量声明会被提升到代码段落前面。
    函数声明和定义也会被提升。
    如下代码:
console.log(num);
count();
var num = 0;
function count(){
     console.log(10)
};

编译后顺序变为:

var num;
function count(){
     console.log(10)
};
console.log(num);
count();
num=0;

注意
变量num只有声明被提前,赋值并未提前
函数count的声明和定义都被提前

2、变量提升代码分析

showName()
var showName = function() {
    console.log(2)
}
function showName() {
    console.log(1)
}

执行结果为:

1

原因:
多个函数同名时,后定义的覆盖先定义的
函数和变量同名时,变量不生效

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容