zoukankan      html  css  js  c++  java
  • 箭头函数

     1     //可变参数
     2     (x, y, ...rest)=>{
     3         var i, sum = x + y
     4         for (i = 0;  i < rest.length; i++) {
     5             sum += rest[i]
     6         }
     7         return sum
     8     }
     9 
    10     //如果要返回一个对象就需要括号括起来,因为和函数体{...}有语法冲突
    11     // x => {foo : x} 报错
    12     x =>({ foo: x })
    13 
    14 
    15     /*
    16         this
    17         箭头函数看上去是匿名函数的一种简写,但实际上,箭头函数和匿名函数有个明显的区别:箭头函数内部的this是词法作用域,由上下文确定。
    18 
    19         箭头函数完全修复了this的指向,this总是指向词法作用域,也就是外层调用者
    20     */
    21     var obj = {
    22         birth: 1990,
    23         getAge: function (){
    24             var fn = ()=> new Date().getFullYear() - this.birth //this指向obj对象
    25             return fn();
    26         }
    27     }
    28     console.log(obj.getAge())
    29 
    30     //由于this在箭头函数中已经按照词法作用域绑定了,所以,用call()或者apply()调用箭头函数时,无法对this进行绑定,即传入的第一个参数被忽略
    31     var objs = {
    32         birth: 1990,
    33         getAge: function (year) {
    34             var fn = (y)=> y - this.birth
    35             return fn.call({birth:2000}, year)
    36         }
    37     }
    38     console.log(objs.getAge(2015))

    // 没有参数的时候
    let fn = () => console.log(3)

    // 只有一个参数的时候
    let fn2 = v => console.log(v)

    // 有多个参数
    let fn3 = (v1, v2, v3) => console.log(v1, v2, v3)

  • 相关阅读:
    四则运算结对作业
    读《构建之法》第四、十七章有感
    四则运算练习的命令行软件
    Spring01
    oop01
    运行shell脚本的三种方式
    正则表达式的基础组成部分
    C语言文件函数
    shell文件描述符及重定向
    shell基础
  • 原文地址:https://www.cnblogs.com/tiantian9542/p/6656657.html
Copyright © 2011-2022 走看看