- js执行过程
- 语法分析
- 预编译
- 解释执行
- []分析下列代码执行情况
-
let res = add(3, 2);//5
console.log(res);
function add(a, b) {
return a + b;
}
- []分析下列代码执行情况
-
console.log(a);
var a = 123;//undefined
- []分析下列代码执行情况
-
console.log(a);
let a = 123;//Uncaught ReferenceError: Cannot access 'a' before initialization
- []分析下列代码执行情况
-
console.log(a);//f a()
function a() {
}
var a = 123;
- 特点
- 函数提升
- 变量 声明var提升
- 补充
- 1.暗示全局变量imply global:如果变量没有声明就直接赋值使用,默认就是全局变量,属于window属性
-
a = 12;
console.log(a);
console.log(window.a);
- 2.一切声明的全局变量都是window属性
-
var a = 12;//全局变量
function fn() {
var b = 20;//局部变量
}
console.log(a);
console.log(b);