varget=function(){console.log("get1");}functionget(){console.log("get2");}get()//输出get1这里为什么输出get1
2 回答

小怪兽爱吃肉
TA贡献1852条经验 获得超1个赞
我的理解应该是这样,希望能对你有所帮助:varget;//变量声明提升functionget(){//函数声明提升到顶部console.log("get2");}get=function(){//变量赋值依然保留在原来的位置console.log("get1");}get();//最终输出:get1

牛魔王的故事
TA贡献1830条经验 获得超3个赞
由于函数提升和变量提升,执行的代码是这样的。functionget(){console.log("get2");}varget;get=function(){console.log("get1");}get();函数提升比变量提升优先级高,第一个函数声明被第二个同名函数表达式覆盖了,所以打印get1.
添加回答
举报
0/150
提交
取消