var get = function () { console.log("get1");}function get() { console.log("get2");}get()//输出get1这里为什么输出get1
2 回答
元芳怎么了
TA贡献1798条经验 获得超7个赞
我的理解应该是这样,希望能对你有所帮助:
var get; //变量声明提升
function get() { //函数声明提升到顶部
console.log("get2");
}
get = function () { //变量赋值依然保留在原来的位置
console.log("get1");
}
get(); //最终输出:get1
MMMHUHU
TA贡献1834条经验 获得超8个赞
由于函数提升和变量提升,执行的代码是这样的。
function get() {
console.log("get2");
}
var get;
get = function () {
console.log("get1");
}
get();
函数提升比变量提升优先级高,第一个函数声明被第二个同名函数表达式覆盖了, 所以打印get1.
添加回答
举报
0/150
提交
取消