2018-03-04
var let const 的用法
var 定义的变量 1.可以到处去用,2在作用域里变量会被提升,3.可以重复定义多个相同的变量,4.定义的变量可以被重复赋值,也可以不赋值。
let 定义变量 1.只能在当前的块级作用域链里面使用, 2变量不会被提升, 3.不可以重复定义多个相同变量, 4定义的变量可以被重复赋值,也可以不赋值。
let name="lisi",age=18,sex="nan"
let [name,age,sex]=["lisi",18,"nan"]
let {name,age,sex}={name:"lisi",age:"18",sex:"nan"}//注意前面的对象里面的key要和后面对象的key命名要一致才能解析。
console.log(name)
console.log(age)
console.log(sex)
let {name,age,friends,pet}={name:"lisi",age:"18",friends:["lulu","王五"],pet:{name:"王xx",age:20}}
console.log(name)
console.log(age)
console.log(friends)
console.log(pet)
const 定义的变量 1.只能在当前的块级作用域链里面使用, 2变量不会被提升, 3.不可以重复定义多个相同变量, 4定义的变量必须要赋值,而且也不允许被修改,如果想修改,只能把定义成复杂类型,
例如:
const a={nane:"张三"}
a.nane="李四";
console.log(a);//{nane:"李四"}; 因为基本类型和复杂类型数据存放的方式不一样,一个是存放在栈路面,一个是放在推里面,所以复杂类型修改的是它的地址里面数据,
let set = new Set([1, 2, 4, 5, 6, 1, 3, 4, 2, 3]); //let的数组去重
// let set = new Set();
console.log(set);
console.log(set.entries().next().value[0]); //1 ,通过这种方法取到集合里面的元素,但是也只能拿到一个,要想取的后面元素还没找到方法,