|
以下两道题目一样,实际上只是一道题目只是打印输出的位置不同: 需要了解的内容: ① 在浏览器进行编译的时候,变量声明和函数声明都会提升,并且函数声明的提升优先级大于变量声明的提升 ② 函数表达式不可提升 题目一: var getName = function() {
console.log(4);
};
function getName() {
console.log(5);
}
getName(); //4
//相当于
function getName() { // 函数声明的提升大于变量声明的提升
console.log(5);
}
var getName;
getName = function() { // 函数表达式不会提升
console.log(4);
};
getName(); // 4
题目二: getName(); //5
var getName = function() {
console.log(4);
};
function getName() {
console.log(5);
}
// 相当于:
function getName() {
console.log(5);
}
var getName;
getName(); // 5
getName = function() {
console.log(4);
};
|