不使用var声明变量,和使用var声明区别

不使用var声明变量,和使用var声明区别

JavaScript变量分为 局部变量全局变量
简单来说

  • 在函数中用var声明的变量即为 局部变量
  • 在函数外用var声明的变量即为 全局变量

JS变量生存期:
生命周期从他们被声明时间开始, 局部变量会在函数执行以后比删除。
全局变量会在页面关闭后删除。

//案例一
var a = 123; // 全局变量
var b = 456; // 全局变量
console.log(a); // 123
console.log(b); // 456
console.log(window.a); // 123
console.log(window.b); // 456
//案例二
var a = 123; // 使用var声明
b = 456; // 不使用var声明
console.log(a); // 123
console.log(b); // 456
console.log(window.a); // 123
console.log(window.b); // 456

另外,使用var声明变量也叫显示声明,不用var声明变量也叫隐式声明

通过上面我们可以得到以下结论:

在函数外,不管是使用var声明变量,还是不用var声明变量,它们都是全局变量。
全局变量其实是在window对象中添加属性并赋值。


// 案例三
function my() {
 var a = 123;
 var b = 456;
 console.log(a); // 123
 console.log(b); // 456
 console.log(window.a); // undefined
 console.log(window.b); // undefined
}
my();
// 案例四
function my() {
 var a = 123; // 使用var声明
 b = 456; // 不使用var声明
 console.log(a); // 123
 console.log(b); // 456
 console.log(window.a); // undefined
 console.log(window.b); // 456
}
my();
console.log(b); // 456

在函数中,

  • 使用var声明的变量为局部变量
  • 不用var声明的变量为全局变量

在函数外,

  • 用var声明的变量为全局变量,
  • 不用var声明的变量为全局变量
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值