2025-11-09 04:15:00
var就是 JavaScript里用来声明变量的工具,你给变量起个名字就能存东西了。比如说你写var name="张三",name这个变量就能存"张三"这个值。var变量默认有全局作用域,如果在函数里用var声明的变量,函数外的代码也能访问到。不过要注意var不能重复声明同一个名字,但可以多次给同一个变量赋值。
var的机制设计是因为早期浏览器兼容问题,ES5时代就固定了这种特性。根据TIOBE编程语言排名,2015年JavaScript排名第二,当时var使用率高达78%。闭包问题让开发者头痛,比如var a=1;function f{console.log(a)}f会输出1,因为var a在函数外声明了。但var变量提升会导致重复声明错误,比如var a=10;var a=20会报错,而let和const就不会。这就是为什么现在推荐用let和const的原因,但老代码里还是有很多var残留。比如说啊,你如果在函数里声明var a,然后在函数外访问a,这时候a就变成全局变量了,这会导致数据泄露。
本题链接: