手册
目录
箭头函数允许我们编写更短的函数语法:
hello = function() {
return "Hello World!";
}
hello = () => {
return "Hello World!";
}
注意:仅当函数只有一个语句时才有效。
如果你有参数,你在括号内传递它们:
hello = (val) => "Hello " + val;
其实,如果你只有一个参数,你也可以跳过括号:
hello = val => "Hello " + val;
this?this 的处理在箭头函数中也与常规函数不同。
简而言之,箭头函数没有 this 的绑定。
在常规函数中,this 关键字表示调用该函数的对象,可以是窗口、文档、按钮等。
对于箭头函数,this 关键字总是表示定义箭头函数的对象。
让我们看两个例子来理解其中的区别。
这两个示例都调用了两次方法,第一次是在页面加载时,另一次是在用户单击按钮时。
第一个例子使用正则函数,第二个例子使用箭头函数。
结果显示第一个例子返回了两个不同的对象(窗口和按钮),第二个例子返回了两次Header对象。
对于常规函数,this 表示调用该函数的对象:
class Header {
constructor() {
this.color = "Red";
}
//常规功能:
changeColor = function() {
document.getElementById("demo").innerHTML += this;
}
}
const myheader = new Header();
//窗口对象调用函数:
window.addEventListener("load", myheader.changeColor);
//一个按钮对象调用该函数:
document.getElementById("btn").addEventListener("click", myheader.changeColor);
用箭头函数,this代表无论是谁调用函数的Header对象:
class Header {
constructor() {
this.color = "Red";
}
//箭头函数:
changeColor = () => {
document.getElementById("demo").innerHTML += this;
}
}
const myheader = new Header();
//窗口对象调用函数:
window.addEventListener("load", myheader.changeColor);
//一个按钮对象调用函数:
document.getElementById("btn").addEventListener("click", myheader.changeColor);
在使用函数时请记住这些差异。 有时,常规函数的行为是您想要的,如果不是,请使用箭头函数。
相关
视频
RELATED VIDEOS
科技资讯
1
2
3
4
5
6
7
8
9
精选课程
共5课时
17.2万人学习
共49课时
77.1万人学习
共29课时
61.8万人学习
共25课时
39.4万人学习
共43课时
71万人学习
共25课时
61.7万人学习
共22课时
23万人学习
共28课时
34万人学习
共89课时
125.3万人学习