ES6学习笔记(一):
1)声明方式-let/const
let:变量不允许重复生明,但允许重复赋值;防止变量泄露
在for循环的的时候,用var 生明i的值会存在变量泄露,用let就不会变量泄露
const:常量,不允许重复生明,也不允许重复赋值
字符串:
1)编码格式:
charCodeAt:获取编码
String.fromCharCode(编码):解码 ,能让编码转成字符
正则用(/u4e00 - \u9fa5)判断中文
UTF-8:支持中文 //UTF-16/32/64
获取浏览器支持多少个中文:
let name = ''; ///u用0x表示,代表十六进制
for(let i = 0x4e00;i<0x9fa5;i++){
name += String.fromCharCode(i);
}
document.body.innerHtml = name;
utf-4:手机自带的是utf-4,电脑是utf-8
gb2312:国标(国际)2312编码,只支持引文,输入中文会乱码
注:在英文格式下,UTF-8和gb2312的编码解码是一样的,在中文格式下编解码是不一样的
2)repeat:
接受一个参数,参数就是重复几次目标字符串
3)includes:
有点像indexOf,查找会返回布尔值,可接收两个参数,第一个参数是要找的内容,第二个参数是从第几位开始
获取或者判断是什么浏览器:
let ua = window.navigator.userAgent;
console.log(ua);//ua里面会有浏览器名字,eg:Chrome
注:indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。
4)startsWith:
起始,判断开头如果是你放入的第一个参数,就返回true,不是就返回false;第二个参数就是从第几位开始
5)endsWith:
结束位置,判断结尾如果是你放入的第一个参数,就返回true,不是就返回false;第二个参数就是从第几位结束
注:startsWith和endsWith都是从1开始,没有0位
6)ES6的字符串变成了 `` ,${}:模板
数组方法:
1)find:
第一个参数 循环出来 数组所有的内容
第二个参数 循环出来 下标
第三个参数 循环出来 数组本身
[1,2,3,4,5].find(function(x,y,z){
console.log(x,y,z);
})
函数:
1)箭头函数:
x = x => x //名字 = 参数 => 返回值 多个参数要用括号括起来
console.log(x(1));
等于下面的
var x = function(x){ return x; }
匿名函数:(function(){alert(1)})()等于下面的箭头函数
(()=>{alert(2);})()
2)延展参数:
如果我传了参数,就执行我得参数,如果没传参数,那么参数就是延展的 的值;延展参数可以延展任何类型,array string number json
3)扩展运算符:
函数中的参数用...x ,代表 实参维数组 进来的 x变量;在数组中可以起到合并数组的作用
4)生成器函数:
function* 函数名(){} ,
用 函数名().next(); 调用
yield有点类似于return
5)对象中得set和get方法:
{}可以有set和get方法,方法后 放名字, 如果执行这个名字不赋值得情况下会走 get,如果赋值得情况下就走(执行)set,set最多只支持一个参数