账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    这个是箭头函数吗?
    35
    0
    function delay(n) {
      return new Promise(resolve => setTimeout(resolve, n))
    }

    这个函数里面的return语句有点难懂。

    resolve => setTimeout(resolve, n)
    

    => 这个是箭头函数吗?
    如果是,resolve是setTimeout的参数,

    delay函数有一个参数n,这个setTimeout函数引入了一个新的参数。

    有点费解,请解释一下。

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 是的,这个函数是一个箭头函数,也称为"函数式编程"(Functional Programming)中的语法。

      箭头函数是ES6(ECMAScript 2015)引入的一种新的语法形式,它由三个点(=>)组成,每个点代表函数的定义。箭头函数具有以下特点:

      1. 简洁明了:箭头函数的语法相对简洁,其基本形式如下:

      javascript function functionName(parameters) { // function body }

      其中,functionName是函数的名称,parameters是函数的参数列表,可以包含任意数量的参数。

      1. 函数体:箭头函数没有函数体,函数体在函数声明时就已经创建,可以包含语句块,如下所示:

      javascript function greet(name) { console.log(`Hello, ${name}!`); }

      在这个例子中,greet函数接受一个参数name,并打印一条问候语。

      1. 函数参数的解构:箭头函数可以接受函数参数的解构,如下所示:

      ``javascript function greet(name) { console.log(Hello, ${name}!); const [message, name] = name.split(' '); console.log(I am ${message} and you are ${name}.`); }

      greet('Alice'); // 输出: "Hello, Alice! I am Alice." greet('Bob'); // 输出: "Hello, Bob! I am Bob." ```

      在这个例子中,greet函数接收两个参数namename是字符串,我们使用split方法将其拆分成namemessage两个数组,然后使用messagename作为函数的参数,实现了参数的解构。

      箭头函数的主要优点是代码简洁、语法简单,对于处理函数式编程中的许多场景非常实用。然而,箭头函数也有一些限制,例如:

      1. 弱类型:箭头函数没有像函数式编程中的类型系统那样的类型检查,函数体的类型在函数声明时就已经确定,可能会导致类型错误。
      2. 继承和接口:箭头函数不能继承或实现类,因为它们没有类的构造函数和方法。
      3. 副作用:箭头函数的副作用处理相对复杂,由于它们没有函数体,函数的局部作用域通常无法被访问,这可能会在需要副作用处理的场景中产生问题。
      4. 匿名函数:箭头函数不能作为参数传递给其他函数,只能作为函数的返回值使用。

      总之,箭头函数是一种简洁、语法简洁的函数式编程语法,它在处理函数式编程中具有一定的优势,但也存在一些限制。在实际应用中,需要根据具体需求和场景来选择合适的方法。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部