var get = function () {
console.log("get1");
}
function get() {
console.log("get2");
}
get()
//输出get1
这里为什么输出get1
var get = function () {
console.log("get1");
}
function get() {
console.log("get2");
}
get()
//输出get1
这里为什么输出get1
由于函数提升和变量提升,执行的代码是这样的。
function get() {
console.log("get2");
}
var get;
get = function () {
console.log("get1");
}
get();
函数提升比变量提升优先级高,第一个函数声明被第二个同名函数表达式覆盖了, 所以打印get1.
10 回答11.7k 阅读
2 回答3.2k 阅读✓ 已解决
4 回答2.2k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
3 回答838 阅读✓ 已解决
3 回答1k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
我的理解应该是这样,希望能对你有所帮助: