js函数预编译过程
2018-09-14
- 创建函数执行上下文
- 声明形参
- 变量提升
- 挂接实参
- 函数提升
- 然后按照预编译后结果依次执行
举个栗子
function demo(a,b,c,d,e){
console.info("a:"+a);
console.info("b:"+b);
console.info("c:"+c);
console.info("d:"+d);
console.info("e:"+e);
console.info("f:"+f);
var a = 1;
var b = function(){};
var c = 3
function c(){};
var d = 4;
f = 6;
console.info("a:"+a);
console.info("b:"+b);
console.info("c:"+c);
console.info("d:"+d);
console.info("e:"+e);
console.info("f:"+f);
var f;
}
demo("a","b","c","d","e")
输出结果:
a:a
b:b
c:function c(){}
d:d
e:e
f:undefined
a:1
b:function(){}
c:3
d:4
e:e
f:6