块级作用域

157 阅读1分钟

作用域:函数作用域,块级作用域,全局作用域,即变量的修饰符。 作用域链:一个变量的可用范围,调用函数或变量时会一级一级向上查找。

var

存在变量提升生,既而此时的变量会成为全局变量,没有块级作用域

let

存在块级作用域,此时的变量称为局部变量,但如果没有赋值就会产生TDZ,即暂时性死区

const

存在块级作用域,修饰常量,此时的变量称为局部变量,也会产生TDZ,即暂时性死区

未声名的变量

会变成全局变量,常常报错referceError,极特数情况不会报错,即冒泡排序

var arr=[3,5,6,7,2,3,9]
ler index=(arr)=>{
    let item=arr.length-1
    // 遍历arr数组,即轮播次数
    for(let i=0;i<item;i++){
    //新建j下标,即比较次数
        for(let j=0;j<item-i;j++){
            if(item[j]>arr[j+1]){
                let temp=arr[j]
                item[j]=item[j+1]   //赋值 左侧执行LHS查询 ,右侧执行RHS查询
                item[j+1]=temp
            }
        }
    }
}
console.log(index)

LHS:赋值操作的目标,RHS赋值操作的源头