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.2k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
我的理解应该是这样,希望能对你有所帮助: