菜单
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

React ES6 箭头函数


箭头函数

箭头函数允许我们编写更短的函数语法

示例

之前

hello = function() {
  return "Hello World!";
}

自己动手试一试 »

示例

使用箭头函数

hello = () => {
  return "Hello World!";
}

自己动手试一试 »

它会更简洁!如果函数只有一个语句,并且该语句返回一个值,则可以省略括号 return 关键字

示例

箭头函数默认返回值

hello = () => "Hello World!";

自己动手试一试 »

注意: 这仅在函数只有一个语句时才有效。

如果你有参数,则将它们放在括号内

示例

带参数的箭头函数

hello = (val) => "Hello " + val;

自己动手试一试 »

事实上,如果你只有一个参数,也可以省略括号

示例

无括号的箭头函数

hello = val => "Hello " + val;
this

自己动手试一试 »


w3schools CERTIFIED . 2022

获得认证!

完成 React 模块,完成练习,参加考试,并获得 w3schools 认证!

$95 注册

关于 this?

与常规函数相比,箭头函数对 this 的处理方式也不同。

简而言之,对于箭头函数,没有 this 的绑定。

在常规函数中,this 关键字代表调用函数的对象,可以是 window,document,一个按钮或任何其他对象。

对于箭头函数,this 关键字总是代表定义该箭头函数的对象。

让我们看两个例子来理解其中的区别。

这两个例子都调用了一个方法两次,第一次是在页面加载时,第二次是在用户点击按钮时。

第一个例子使用了一个常规函数,第二个例子使用了一个箭头函数。

结果显示第一个例子返回了两个不同的对象(window 和 button),而第二个例子返回了两次 Header 对象。

示例

使用常规函数时,this 代表调用函数的对象

class Header {
  constructor() {
    this.color = "Red";
  }

//Regular function:
  changeColor = function() {
    document.getElementById("demo").innerHTML += this;
  }
}

const myheader = new Header();

//The window object calls the function:
window.addEventListener("load", myheader.changeColor);

//A button object calls the function:
document.getElementById("btn").addEventListener("click", myheader.changeColor);

自己动手试一试 »

示例

使用箭头函数时,this 代表 Header 对象,无论谁调用了该函数

class Header {
  constructor() {
    this.color = "Red";
  }

//Arrow function:
  changeColor = () => {
    document.getElementById("demo").innerHTML += this;
  }
}

const myheader = new Header();


//The window object calls the function:
window.addEventListener("load", myheader.changeColor);

//A button object calls the function:
document.getElementById("btn").addEventListener("click", myheader.changeColor);

自己动手试一试 »

在处理函数时,请记住这些差异。有时常规函数的行为是你想要的,如果不是,则使用箭头函数。



×

联系销售

如果您想将 W3Schools 服务用于教育机构、团队或企业,请发送电子邮件给我们
sales@w3schools.com

报告错误

如果您想报告错误,或想提出建议,请发送电子邮件给我们
help@w3schools.com

W3Schools 经过优化,旨在方便学习和培训。示例可能经过简化,以提高阅读和学习体验。教程、参考资料和示例会不断审查,以避免错误,但我们无法保证所有内容的完全正确性。使用 W3Schools 即表示您已阅读并接受我们的使用条款Cookie 和隐私政策

版权所有 1999-2024 Refsnes Data。保留所有权利。W3Schools 由 W3.CSS 提供支持