04-变量提升的题目
变量提升的规律
console.log(fn);
var fn = 1;
function fn() {
}
console.log(fn);


声明时的重名问题

函数作用域中的变量提升(两点提醒)
其他题目
Last updated
console.log(fn);
var fn = 1;
function fn() {
}
console.log(fn);



Last updated
var fn = undefined;
function fn() {
}
console.log(fn);
fn = 1;
console.log(fn); console.log(i);
for (var i = 0; i < 3; i++) {
console.log(i)
} var i = undefined;
console.log(i);
for (i = 0; i < 3; i++) {
console.log(i);
} var a = 1;
function fn() {
a = 2;
console.log(a)
var a = 3;
console.log(a)
}
fn();
console.log(a); var a = undefined;
function fn() {
var a
a = 2
console.log(a)
a = 3
console.log(a)
};
a = 1;
fn();
console.log(a); var fn; //fn被声明为变量
function fn() {// fn被声明为function,就近原则
}
console.log(fn); //打印结果:function fn(){} function fn() {} //fn被声明为function,且此时fn已经被赋值,这个值就是function的对象
var fn; //fn已经在上一行被声明且已经有值, 再 var 无效,并不会重置为 undefined
console.log(fn) //打印结果:function fn(){} function fn() {} //fn被声明为function,且此时fn已经有值,这个值就是function的对象
function fn() { //此时fn被重复赋值,会覆盖上一行的值
console.log('smyhvae');
}
console.log(fn) var a = 1;
function foo() {
console.log(a);
a = 2; // 此处的a相当于window.a
}
foo();
console.log(a); //打印结果是2 function fun6(e) {
console.log(e);
}
fun6(); //打印结果为 undefined
fun6(123);//打印结果为123 var a = 1;
if (a > 0) {
console.log(a);
var a = 2;
}
console.log(a);1
2