es6函数

箭头函数

箭头函数简化了函数的的定义方式,一般以 "=>" 操作符左边为输入的参数,而右边则是进行的操作以及返回的值inputs=>output
[1,2,3].forEach(val => console.log(val)););

输入参数如果多于一个要用()包起来,函数体如果有多条语句需要用{}包起来

箭头函数根本没有自己的this,导致内部的this就是外层代码块的this。 正是因为它没有this,从而避免了this指向的问题。

var person = {
    name:'zfpx',
    getName:function(){
-        setTimeout(function(){console.log(this);},1000); //在浏览器执行的话this指向window
+        setTimeout(() => console.log(this),1000);//在浏览器执行的话this指向person
    }
}
person.getName();

回调函数

回调函数需求 var arr = [10,33,44,55,88,20,32]
第⼀层回调函数 在不不修改本身情况下 每个val 加10
第⼆层回调函数 在不不修改本身情况下 每个val * 10
第三层回调函数 过滤掉所以 ⼩小于400 的值

 var arr = [10, 33, 44, 55, 88, 20, 32];
        function m(Arr){
            let arr = Arr;
            // error 语法 map 结束要加 ;
            // 第一层
            (function(A){
                let B = A.map((val) => {
                    return val + 10
                });
                console.log(B);
                // 第二层
                (function (A){
                    let B = A.map((val) => {
                        return val * 10
                    });
                    console.log(B);
                    // 第三层
                    (function (A){
                        let B = A.filter((val) => {
                            return val < 400;
                        });
                        console.log(B);
                    })(B)
                })(B)
            })(arr)
        }
        m(arr);
posted @ 2018-11-25 01:01  Heson  阅读(160)  评论(0编辑  收藏  举报
Live2D