预解析 变量提升 函数提升
预解析(js)var 先声明提升 再函数声明提升
只有var 关键字声明变量,会存在变量提升
总结:
-
变量在未声明即被访问时会报语法错误
-
变量在声明之前即被访问,变量的值为
undefined
-
let
声明的变量不存在变量提升,推荐使用let
-
变量提升出现在相同作用域当中
-
实际开发中推荐先声明再访问变量
-
我们不建议使用var声明变量
<body>
<script>
// var 声明的变量可以声明提升
// 预解析(js)var 先声明提升 再函数声明提升
// var age;
// function fun() {
// console.log(9); //9
// }
// console.log(age); //undefined
// age = 10;
// fun();
// 函数预解析后
console.log(age); //undefined
var age = 10;
fun();
function fun() {
console.log(9); //9
}
</script>
</body>
函数提升与变量提升比较类似,是指函数在声明之前即可被调用
总结:
-
函数提升能够使函数的声明调用更灵活
-
函数表达式一定要把调用写在下面
-
函数提升出现在相同作用域当中
-
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南