美文网首页
箭头函数及参数、name、length属性

箭头函数及参数、name、length属性

作者: 关耳木南 | 来源:发表于2019-06-21 23:30 被阅读0次
    <script type="text/javascript">
        function fn(){
            console.log(this)//window
        }
        fn();//函数自执行时,函数不依赖于任何对象。这种情况
             //this全部指向了顶层对象window
        /*
        箭头函数里没有this和arguments
            1、箭头函数的this是固化的,指向所在环境的this,或者说没有this.
            所有在箭头函数里使用this是默认的外层的,如果都没有指向window。
            2、箭头函数里没有arguments但是有函数的rest参数(函数的剩余参数)
    
    
         */
        let add = function(){
            return console.log(1)
        }
        add();//1
        //箭头函数写法 箭头后面的console.log(1),就是相当于return返回的东西
        let add2 = () =>  console.log(1) 
        add2();//1
        let add3 = (n) =>  console.log(n) //带有参数的箭头函数
        add3(3)//3
        //多条语句时,写花括号不可省略return关键字
        let add4 = (n) => {
            let b = n + 5;
            let c = b + 2;
            return console.log(c);//10
        }
        add4(3);
        // 函数的rest参数
        let fnu =function(a,...b){
            console.log(a);
            console.log(b);
        }
        fnu(12,23,34);
        fnu(0);
        let add5 = (...a) => {
            console.log(a);
        }
        add5(11,22,33)
        //剩余参数只能出现在最后一个,此处就叫函数的rest参数,
        //是一个数组,可以用数组的方法
        let add6 = (...a) => {
            console.log(a);
        }
        add6(1,2,3)
        // 箭头函数的name属性和length属性
        let add7 = function(){
            console.log(add7.name);//add7 函数的名字
        }
        add7();
        let add8 = () => {
            console.log(add8.name);//add8 函数的名字
        }
        add8();
        //legnth:返回函数形参的个数,不包括rest参数的和赋值的形参
        let add9 = (a,b,c,d) => console.log(add9.length);//4 
        add9()
    
    </script>
    

    相关文章

      网友评论

          本文标题:箭头函数及参数、name、length属性

          本文链接:https://www.haomeiwen.com/subject/ilvpqctx.html