JAVA全系列 教程
3762个小节阅读:7088.9k
目录
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
ES6 允许使用“箭头”(=>
)定义函数
xxxxxxxxxx
var add = (x) => x;
// 等同于
var add = function (x) {
return x;
};
如果箭头函数不需要参数或需要多个参数,就使用一个圆括号代表参数部分
xxxxxxxxxx
var add = (x,y) => x+y;
// 等同于
var add = function (x,y) {
return x+y;
};
var add = () => 100;
// 等同于
var add = function () {
return 100;
};
如果箭头函数的代码块部分多于一条语句,就要使用大括号将它们括起来,并且使用return
语句返回
xxxxxxxxxx
var add = (x,y) => {
var z = 10;
return x+y+z
};
// 等同于
var add = function (x,y) {
var z = 100
return x+y+z
};
由于大括号被解释为代码块,所以如果箭头函数直接返回一个对象,必须在对象外面加上括号,否则会报错。
xxxxxxxxxx
var add = (x,y) => ({x:10,y:20});
箭头函数的一个用处是简化回调函数(匿名函数)
xxxxxxxxxx
var arr = [10,20,30]
arr.map(item =>{
console.log(item);
})
对于普通函数来说,内部的this
指向函数运行时所在的对象,但是这一点对箭头函数不成立。它没有自己的this
对象,内部的this
就是定义时上层作用域中的this
xxxxxxxxxx
var name = "itbaizhan"
var user = {
name:"iwen",
getName(){
setTimeout(() =>{
console.log(this.name); // iwen
})
}
}
user.getName()
温馨提示
箭头函数里面根本没有自己的
this
,而是引用外层的this
实时效果反馈
1. 下列代码运行结果是多少:
xxxxxxxxxx
var name = "itbaizhan"
var user = {
name:"iwen",
getName(){
setTimeout(() =>{
console.log(this.name);
})
}
}
user.getName()
A itbaizhan
B iwen
C null
D 报错
答案
1=>B