您当前的位置: 首页 >  科技D人生 ecmascript

ECMAScript 6学习总结(2)——ECMAScript 6常用方法总结

科技D人生 发布时间:2018-02-02 13:12:11 ,浏览量:1

1.不存在变量提升
2.暂时性死区
var a = 40;
if(true){
a = 30;
let a = 10;
console.log(a)
}
3.不允许重复声明,同一作用域内只能声明一次
4.新增的块级作用域
for(作用域A){作用域B} 循环的应用;
var a = [];
for(var i= 0;i{
return
}
var sum = (num1, num2) => { return num1 + num2; }
//等同于
var sum = function(num1, num2) {
return num1 + num2;
};
document.onclick = function(){
var that = this;
setTimeout(function(){
console.log(that);
},1000)
}
document.onclick = function(){
setTimeout(function(){
console.log(this);
}.bind(document),1000)
}
document.onclick = function(){
setTimeout(function(){
console.log(this);
}.bind(this),1000)
}
document.onclick = function(){
setTimeout(()=>{
console.log(this);
},1000)
}
5.Symbol 字典量
var a = Symbol();
ES5 的对象属性名都是字符串,这容易造成属性名的冲突。
比如,你使用了一个他人提供的对象,但又想为这个对象添加新的方法(mixin 模式),新方法的名字就有可能与现有方法产生冲突。如果有一种机制,保证每个属性的名字都是独一无二的就好了,这样就从根本上防止属性名的冲突。这就是 ES6 引入Symbol的原因。
6.
/* set (去重)和 map(后端交互) :数组和对象的映射又不是数组和对象,set本质上属于map
* 长的跟数组一样却不能用操作数组的额方式操作它
*/
1.两种赋值方式
var myset = new Set([1,2,3,4,5,”a”,”b”]);
console.log(myset);
/myset.add方法赋值,必须要new 出来操作/
2.利用add()方法赋值
var myset = new Set();
myset.add(1);
myset.add(2);
myset.add(3);
console.log(myset);
//怎么取值了
for(let a of myset){
console.log(a);
}
/*一个神奇的特性 不允许自己的数据重复 但是看数据类型 不相同要求全等于*/
/*我们用神奇的特性来数组去重*/
数组去重封装:
function arrHeavy(arr){
var newArr = [];
for(let a of arr){
newArr.push(a);
}
return(newArr);
}
arrHeavy(arr);
set:
/火狐单箭头 ,谷歌等于加大于号 所对应的是后台语言里面的数组/
/用来跟后头语言做通信/
赋值1.运用set()方法
var mymap = new Map();
mymap.set(“name”,”admin”); //{“” => “admin”} 不加引号为空
mymap.set(“name”,”admin2”);
mymap.set(“age”,30);
/**/
for(let a of mymap){
console.log(a) //得到一个数组a[0] 所有的key a[1]所有有的evalue
/遍历所有的key/
for(var a of myset.keys()){
console.log(a)
}
/所有的value/
for(var a of myset.values()){
console.log(a)
}
/遍历自身 entries/
for(var a of myset.entries()){
console.log(a)
}
/map所有的遍历方法,set都能用,set中所有的值既是key又是value set用entries遍历的结果和map一样 数组键值都一样/
7.了解class的写法和继承
了解:正则的扩展
1.u
ES6对正则表达式添加了u修饰符,含义为“Unicode模式”,用来正确处理大于\uFFFF的Unicode字符。也就是说,会正确处理四个字节的UTF-16编码。
2.y
ES6添加了y修饰符和g类似,不过y 修饰符在下次匹配的时候需要紧跟上次匹配成功之后的结果匹配,而g则是全局匹配;
exec() 方法在匹配全局对象的时候, 多次匹配会在上一次结束的地方继续匹配;
关注
打赏
查看更多评论

科技D人生

暂无认证

  • 1浏览

    0关注

    1542博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录