块作用域 js

在此之间我们要了解什么是js中的作用域,作用域是指对变量和方法有访问权限的代码空间;
在ES5中有全局作用域和函数作用域,而在ES6中有新增加了块作用域
1、全局作用域

  变量声明在函数最外部,在代码中任何地方都可以访问的对象;

2、函数作用域

	定义在函数内部的参数和变量,在函数外部是不可见的

3、块作用域

	在{}中的代码都属于一个块,在其中的所有变量字{}外部都不可以访问
var a=2
function name() {
    if (false) {
        var a=4;
    }
	console.log(a);//undefined
}
name()
//应为变量提升,函数内变量覆盖的外层变量

for (var  index = 0; index < 8; index++) {
    var  element = index;
    
}
console.log(index,element);//8,7
//在for和if中变量泄露

//而在块作用域中
for (let  index = 0; index < 8; index++) {
    let  element = index;
}

console.log(index);//报错
console.log(element);//报错
//变量只在当前块作用域之间可以被访问,无法被外层访问
var a=2
function name(params) {
     if (false) {
        let a=4;
    }
	console.log(a);//2
}
name()
//无变量提升
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值