js的预处理
2021-04-22 22:26
标签:原因 javascrip fun 处理机 代码 class func undefined ext JavaScript不会完全按照代码的顺序执行,在执行之前会对定义的函数和变量先来一边所谓的预编译处理。 先来说下对变量的预处理: 按照常理,我们还没定义a这个变量,提前打印应该是报错的,但是确打印出undefined, 出现这个效果的原因就是预处理机制。再来说下这段代码的执行过过程: 通过这段代码可以看出,在代码执行之前会找到变量,然后把该变量提升到顶部!var a;由于a未 赋值,所以打印出undefined,继续执行对a进行赋值所以再次打印的是‘hello world‘。 除此之外,对函数也会进行预处理操作: 这段代码的执行过程是这样的: 与变量提升相似,函数预编译的时候函数会被提升到最前面 当变量与函数同时存在时,函数提升的更靠前!!! js的预处理 标签:原因 javascrip fun 处理机 代码 class func undefined ext 原文地址:https://www.cnblogs.com/genhao7/p/12240895.html console.log(a) //undefined
var a =‘hello world!‘
console.log(a) //‘hello world‘
var a;
console.log(a); //undefined
a = ‘hello world‘;
console.log(a); //hello world
console.log(fun1); // function f1() {}
function fun1() {}
function fun1() {}
console.log(fun1);