变量提升验证

288 阅读1分钟

console.log(1,a); //变量
console.log(2,b); //函数
console.log(3,c); //函数体内定义
console.log(4,e); //函数
console.log(9,d); //变量未定义

var a = 'window';
var d = 'inWindow';
function b(){
    console.log(5,d);
    var c = 'funcVar'
    var d = 'inFunctionB';
    console.log(6,d);
}
var e = function(){
}
console.log(7,d);
b();
console.log(8,d);

预想结果:

 1 undefined
 2 function
 3 undefined
 4 undefined
 9 undefined
 7 'inWindow'
 5 undefined
 6 'inFunctionB'
 8 'inWindow'

chrome控制台

1 undefined
2 ƒ b(){
    console.log(5,d);
    var c = 'funcVar'
    var d = 'inFunctionB';
    console.log(6,d);
}
3 报错 Uncaught ReferenceError: c is not defined
4 undefined
9 undefined
7 "inWindow"
5 undefined
6 "inFunctionB"
8 "inWindow"

nodejs中

node中
1 undefined
2 [Function: b]
3 导致异常无响应
4 undefined
9 undefined
7 'inWindow'
5 undefined
6 'inFunctionB'
8 'inWindow'