let变量声明
// let 变量声明
let a;
let d,b,c;
let e=100;
let f=521,h=[];
let变量声明的特点
1.变量不能重复声明
2.块及作用域,变量只在代码块内有效
3.不存在变量提升,不允许变量声明之前使用
4.不影响作用域链
function A(){
let school='csdn';
function fn(){
console.log(school);//此时school可以被访问,为csdn
}
fn();
}
A();
const声明常量
<script>
const NAME='scdn';
</script>
const常量声明的特点
1.一般要赋初始值,在声明时
2.一般常量名大写
3.值不能修改
4.块级作用域
5.对数组或对象元素修改,不算做对常量的修改,不会报错。因为此时常量指向一个地址,只要地址值不变,就不会改变
解构赋值
从数组或对象中提取值,对变量进行赋值
1.数组的解构
const arr=[1,2,3,4,5,6];
let [a,b,c,d,e,f]=arr;
console.log(b);
console.log([a,b,c,d,e,f]);
·
2.对象的解构
const ren={
name:'rzt',
age:18,
target:function(){
console.log('回家');
}
}
let {name,age,target}=ren;
console.log({name,age,target});
console.log(name);
const ren={
name:'rzt',
age:18,
target:function(){
console.log('回家');
}
}
// 单独解构
let {target}=ren;
console.log(target);
【注意】
var arr=[1,2,3,4,5];
// 深拷贝
var arr1=[...arr];
// 浅拷贝
var arr2=arr;
console.log(arr1);
console.log(arr2);
此时arr2与arr内的元素会一致改变,而arr1不会随arr2或arr改变