ES6 学习笔记二

函数的扩展

  • 函数参数默认值

    const app = new Vue({
        el:'#app',
        data:{
          message:'我的卡号为xxxxx',
        },
        methods:{
            getName(second,first='李'){
                console.log(second,first);
            },
        },
        mounted() {
            let a = '艳茹';
            let b = '王';
            this.getName(a);
            this.getName(a,b);
        }
    });
  • 函数不定参数(扩展运算符的运用)

    const app = new Vue({
        el:'#app',
        data:{
          message:'我的卡号为xxxxx',
        },
        methods:{
            getNames(name,...names){
                console.log(name,names);//张静 ['廖艳茹','柯瑶']
            },
        },
        mounted() {
            let a = '张静';
            let b = '廖艳茹';
            let c = '柯瑶';
            this.getNames(a,b,c);
        }
    });
  • 箭头函数

    1、如果箭头函数不需要参数或需要多个参数,就使用一个圆括号代表参数部分
    2、如果箭头函数的代码块部分多于一条语句,就要使用大括号将它们括起来,并且使用return语句返回
    3、由于大括号被解释为代码块,所以如果箭头函数直接返回一个对象,必须在对象外面加上括号,否则会报错
    4、箭头函数可以与变量解构结合使用

set 与 map 数据结构

1、Set对象是值的集合,你可以按照插入的顺序迭代它的元素。 Set中的元素只会出现一次,即 Set 中的元素是唯一的
2、Map 对象保存键值对。任何值(对象或者原始值) 都可以作为一个键或一个值

set属性与方法 返回值
size 返回Set对象中元素的个数
add 向一个 Set 对象的末尾添加一个指定的值
clear 清空一个 Set 对象中的所有元素
delete 从一个 Set 对象中删除指定的元素
entries 返回一个新的包含 [value, value] 形式的数组迭代器对象
forEach 根据集合中元素的插入顺序,依次执行提供的回调函数
has 返回一个布尔值来指示对应的值value是否存在Set对象中
values 将返回一个新生成的可迭代对象,以插入 Set 对象的顺序返回其包含的每个元素的值
map属性与方法 返回值
size 返回 一个Map 对象的成员数量
clear 移除Map对象中的所有元素,返回undefined
delete 移除 Map 对象中指定的元素
entries 返回一个新的包含 [key, value] 对的 Iterator 对象
forEach 以插入顺序对 Map 对象中的每一个键值对执行一次参数中提供的回调函数
get 返回某个 Map 对象中的一个指定元素
has 返回一个bool值,用来表明map 中是否存在指定元素
keys 返回一个新的 Iterator 对象。它包含按照顺序插入 Map 对象中每个元素的key值
values 返回一个新的Iterator对象。它包含按顺序插入Map对象中每个元素的value值
set 为 Map 对象添加或更新一个指定了键(key)和值(value)的(新)键值对,返回Map对象

遍历方法

遍历方法 跳出循环
for continue,break,return有用
for in continue,break,return有用
for of continue,break,return有用
forEach continue与break,return无用
const arr = [1,2,3,4,5];
for(let i=0;i<5;i++){ //有用
    if(i === 2){
        continue;
        //break;
        //return;
    }
    console.log(i);
}

for(let i in arr){ //有用,i 是键名,并非元素值
    if(i === '2'){
        continue;
        //break;
        //return;
    }
    console.log(arr[i]);
}

for(let i of arr){ //有用
    if(i === 2){
        //continue;
        //break;
        //return;
    }
    console.log(i);
}

arr.forEach(i => {
    if(i === 2){
        //continue;
        //break;
        return;
    }
    console.log(i);
})
本作品采用《CC 协议》,转载必须注明作者和本文链接
今年不学习,明天惨唧唧。
zs4336
讨论数量: 1

for in continue、break和return这个写错了,不是不支持,而是for in返回的i是index,并且类型是string,你可以在chrome中仔细试一下,es5之前就支持的for in,怎么可能不支持continue、break和return呢,不要误导他人啊

5年前 评论
zs4336 (楼主) 5年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!