作用域:函数作用域,块级作用域,全局作用域,即变量的修饰符。 作用域链:一个变量的可用范围,调用函数或变量时会一级一级向上查找。
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赋值操作的源头