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 协议》,转载必须注明作者和本文链接
今年不学习,明天惨唧唧。
maturest
讨论数量: 1

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

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