当前位置: 代码迷 >> 综合 >> = Arrow Function
  详细解决方案

= Arrow Function

热度:3   发布时间:2023-12-18 15:11:44.0

箭头函数相当于匿名函数,并且简化了函数定义

(x) => x + 1 相当于:

function(x){return x + 1;
}

箭头函数有两种格式

1.只有一条表达式,可以不用写{..}与return

// 有参数:
(x, y) => x * x + y * y// 无参数:
() => alert('无参数')

2.多条表达式

x => {if (x > 0) {return x * x;}else {return - x * x;}
}

如果返回值为对象

// SyntaxError:
x => { foo: x }
因为和函数体的{ ... }有语法冲突,所以要改为:
// ok:
x => ({ foo: x })

使用

var a = () => 10;
alert(a())   >>>10function Test() {this.num = 100;this.func = function(){console.log(this.num); // 100var that = this;#以下两种写法的结果一样#这里不能为this.num,它在匿名函数里,this指向windowssetTimeout(function(){console.log(that.num);}, 500);setTimeout(() => console.log(this.num), 500)};
}
var obj = new Test();
obj.func();

箭头函数内部的this是词法作用域,由上下文确定,无法通过call与apply进行绑定

JavaScript中的Object.defineProperty()和defineProperties()

https://segmentfault.com/a/1190000011294519

  相关解决方案