函数声明提前的小问题

varget=function(){
console.log("get1");
}
functionget(){
console.log("get2");
}
get()
//输出get1这里为什么输出get1
人到中年有点甜
浏览 399回答 2
2回答

小怪兽爱吃肉

我的理解应该是这样,希望能对你有所帮助:varget;//变量声明提升functionget(){//函数声明提升到顶部console.log("get2");}get=function(){//变量赋值依然保留在原来的位置console.log("get1");}get();//最终输出:get1

牛魔王的故事

由于函数提升和变量提升,执行的代码是这样的。functionget(){console.log("get2");}varget;get=function(){console.log("get1");}get();函数提升比变量提升优先级高,第一个函数声明被第二个同名函数表达式覆盖了,所以打印get1.
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript