js高级_104、变量提升与函数提升
1,变量声明提升
通过var定义的变量,在定义语句之前就可以被访问到。
变量的值:undefind
如:
console.log(b);//结果undefind
var b=1;
或者:
var a=3;
function fn(){
console.log(a);
var a=2;
}
fn();//结果a=2;
2,函数声明提升
通过function声明的函数,在声明之前就可以直接调用,如果是用var 接收的匿名函数则不能调用,因为var的声明提升的值为undefind
函数值:函数定义(对象本身)
函数内部作用域内也有变量声明提升,函数内部没有该变量才会去外部找。
fn2();
function fn2(){
console.log(5);
}
变量声明提升和函数声明提升是如何产生的?
执行上下文对象(window)创建的时候就会把这些全局变量添加到自己的属性里,所以就是执行上下文对象对全局变量的预处理所产生的变量和函数提升。先执行变量提升再执行函数提升。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构