变量或函数 提升
-
变量提升
console.log(fn) //输出:undefined var fn = 12
变量提升,是把变量提升提到函数上边,注意:变量提升 只提升变量的声明,不会把赋值也提升上来所以,正儿八经的情况是这样的...var fn; // 先声明 console.log(fn) fn = 12 //运行时才赋值
- 函数提升(两种方式:1. 函数表达式 2.函数声明式)
1.函数表达式提升
console.log(fn()) //输出:TypeError: fn is not a function var fn = function(){ console.log(2) }
函数表达式方式提升和普通变量提升一样,只声明不赋值
2.函数声明式提升
console.log(fn()) //输出:1 //函数声明 function fn(){ console.log(1) }
总结:1. 所有的声明都会提升到作用域的最顶上去
2. 同一个变量只会声明一次,其他的会被忽略掉或者覆盖掉
3.var关键字只声明;function关键字声明+定义,并且函数声明和函数定义的部分一起被提升
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义