js执行过程

  js并不是真正从上到下依次执行的,js在执行这些代码之前首先要进行一个预解析,它先去找所以的定义,变量的定义函数的声明,并且把变量的定义函数的声明进行提升,提升到这个作用域的最顶层。当执行到函数内部的时候,在执行函数内部的预解析,执行完预解析后再去执行代码,代码是一行一行的执行的。

  变量和函数同名的情况下,

var a = 1;
var a = function(){} //函数表达式声明函数
console.log(a)
//结果
//function(){}
var a = function(){} //函数表达式声明函数
var a= 1;
console.log(a)
//结果
//1
var a= 1;
function a(){};
console.log(a);  //1
function a(){};
var a=1;
console.log(a);  //1

猜你喜欢

转载自www.cnblogs.com/zmyxixihaha/p/10668154.html
今日推荐