js实现var
在JavaScript中,var是早期用于声明变量的关键字,但现代开发中更推荐使用let和const。以下是关于var的关键特性和注意事项:
var的基本用法
声明变量时可初始化或不初始化:

var x; // 声明未初始化,默认值为undefined
var y = 10; // 声明并初始化
var的作用域特性
-
函数作用域:仅在声明它的函数内部有效
function example() { var localVar = "inside function"; } console.log(localVar); // ReferenceError -
无块级作用域:在代码块(如if/for)中声明的变量会提升到外层

if (true) { var blockVar = "no block scope"; } console.log(blockVar); // 正常输出
变量提升现象
使用var声明的变量会提升到作用域顶部(但赋值不提升):
console.log(hoisted); // 输出undefined而非报错
var hoisted = "value";
与let/const的主要区别
- 重复声明:
var允许重复声明,let/const不允许var a = 1; var a = 2; // 合法
let b = 1; let b = 2; // SyntaxError
- 全局声明时:`var`会挂载到window对象,`let/const`不会
```javascript
var globalVar = "value";
console.log(window.globalVar); // "value"
现代开发建议
- 优先使用
const声明不变的量 - 需要重新赋值时使用
let - 避免使用
var除非需要兼容旧环境 - 严格模式("use strict")下部分
var特性会被限制






