Open lurasso opened 4 years ago
预编译发生在js代码执行前(大部分是函数体执行),在内存中开辟一部分空间存放参数、变量和函数。 输出: function a(){} 123 123 undefined function(){}
再确认下运行结果
预编译发生在js代码执行前(大部分是函数体执行),在内存中开辟一部分空间存放参数、变量和函数。 输出: function a(){} 123 undefined 123 function(){}
js在代码编译阶段,会将变量申明与函数声明提升,上面的代码最后会变成这样
function fn(a){
var a;
var b;
function a(){}
function d(){}
console.log(a);
a = 123;
console.log(a);
console.log(b);
console.log(a);
b = function(){}
console.log(b);
}
fn(1);
输出结果为
function a(){}
123
undefined
123
function(){}
什么是JS预编译?
以下代码输出结果为?