- let声明变量
1.let声明的变量是局部变量,在一对{}中有效
2.let不能重复声明
3.let不会变量提升(js在执行时会预编译,会把所有的变量提升在代码的最前面并赋初值undinfine)
if(true){
var a = 15;
let b = 37;
}
console.log(a);
console.log(b);
var 声明的变量在if外能访问到,let声明的变量是局部变量只能在{}访问
- const声明常量
1.声明必须赋值
2.不能修改(值类型) ==> 数字 字符串 布尔
3.建议变量名大写
const MY_HOST = ['www.baidu.com','www.tmall.con'];
MY_HOST.push('www.jd.com');
MY_HOST[0] = 'www.qq.com';
console.log(MY_HOST);
- 交换变量
let a = 18;
let b = 20;
[b,a] = [a,b]
- 跳过
let arr = [1,3,5,7,9];
let [,a,,b] = arr;
- 剩余
let arr = [1,3,5,7,9];
let [a,...b] = arr;
- 默认值
let arr = [1,3];
let [a,b,c=100] = arr;
- 字符串
let [a,b,c,d] = '沙雕总裁';
- 实现浅拷贝(赋值)
var arr = [1,3,5];
var arr1 = [...arr];
- 对象解构没有顺序
var obj = {name : '阿正',age : 18,weight: 180};
let {weight,name,age} = obj;
- 剩余值
let {weight,...rest} = obj;
- 默认值
let {name,eye=2} = obj;
- 复制
var obj1 = {...obj};
- trim()
此方法用来删除字符串开头和末尾空格
var str = ' 我爱 我的 祖国 ';
console.log(str.trim());
console.log(str.trimLeft());
console.log(str.trimRight());
- repeat()
重复
var str = '我爱你三千遍';
console.log(str.repeat(100));
- for of
for in用于对象的可访问属性的遍历,for-in 读取键名,适合处理对象
for of用于读取可迭代属性的value,for-of 读取键值
- includes()
此方法用来检测字符串中是否包含指定字符,返回值为布尔值
- startsWith()
此方法用来检测字符串中是否以指定字符开头,返回值为布尔值
- endsWith()
此方法用来检测字符串中是否以指定字符结尾,返回值为布尔值
- 字符串模板
用一对反撇号包裹
var name = '小张';
console.log( `大家好,我的名字是${name}`);