全局变量和局部变量_JavaScript全局变量和局部变量

4a9879caadfc602521b9fc2adcb5a37d.png

变量可分为全局变量和局部变量。

  • 全局变量
var a = 123; // 定义全局变量
console.log(window.a === a); // true

全局变量的值存储在window中,通过window.a可以拿到变量a的值,而之前直接console.log(a);也可以拿到变量a的值,是因为console.log(a);是从window上拿的,由此可以知道,window.a === a。

  • 局部变量

局部变量一般定义在函数当中,如:

function test() {
    var b = 234;
    // b 表示局部变量
    console.log(b); // 234
}
test();
console.log(b); // 报错

变量b只存储在test函数中,在函数test中访问变量b,是完全可以访问到的。

如果是在test函数外面去访问test函数里面的变量b,是访问不到的,而且会报错,因为在全局中并没有定义变量b,直接访问没有被定义的变量b是会报错的。

如果在test函数中访问全局的变量是可以访问的,如:

var a = "aaa";
function test() {
    var b = 234;
    // b 表示局部变量
    console.log(b); // 234

    // 可以访问全局变量a
    console.log(a); // "aaa"
}
test();

如果在另一个和test函数彼此独立的函数中,访问test函数中的变量,是不可访问到的,如:

function test() {
    var b = 234;
    // b 表示局部变量
    console.log(b); // 234
}

function index() {
    // 访问不到test函数中的变量b
    console.log(b); // 报错
}
test();
index();

总结一下:

1、js变量分为全局变量和局部变量,全局变量不能访问局部变量,局部变量可以访问全局变量。

2、彼此独立的函数,只能访问自己函数里的变量和全局变量,不能访问别人函数里的变量。

3、全局变量与局部变量之间会形成各自的作用域。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值