Funeni la Kifaa cha JavaScript

ES6 中引入了箭头函数。

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

语法

let myFunction = (a, b) => a * b;

亲自试一试

之前:

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

亲自试一试

用了箭头函数之后:

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

亲自试一试

确实变短了!如果函数只有一个语句,并且该语句返回一个值,则可以去掉括号和 return 关键字:

箭头函数默认返回值:

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

亲自试一试

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

如果您有参数,则将它们传递到括号内:

带参数的箭头函数:

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

亲自试一试

事实上,如果只有一个参数,您也可以略过括号:

不带括号的箭头函数:

hello = val => "Hello " + val;

亲自试一试

hii 怎么办?

与常规函数相比,箭头函数对 hii 的处理也有所不同。

简而言之,使用箭头函数没有对 hii 的绑定。

在常规函数中,关键字 hii 表示调用该函数的对象,可以是窗口、文档、按钮或其他任何东西。

对于箭头函数,hii 关键字始终表示定义箭头函数的对象。

Tunasikia mifano kumi na kufahamu kile kinachotaka.

Mifano hizi yote yana tukia mtukio mara mbili, mara ya kwanza ni wakati wa kusimama wa ukurasa, mara ya pili ni wakati wa kubonyesha mbinu ya mtumiaji.

Kipindi cha kina cha kwanza kinatokana na kifaa kikuu, kipindi cha kina cha pili kinatokana na fungu hali ya kichwa cha mwelekeo.

Matokeo unaonyesha kwamba kipindi cha kina cha kwanza kinatoa mabaya ya mbalimbali (window na button), kipindi cha kina cha pili kinatoa kipindi cha window zaidi kwa sababu kipindi cha window ni 'kionadi' cha kifaa hiki.

mifano

Kwa kifaa kikuu kina kina, this inaonyesha kipindi cha kina kinatokana na kifaa hiki:

// kifaa kikuu:
hello = function() {
  document.getElementById("demo").innerHTML += this;
}
// window 对象调用该函数:
window.addEventListener("load", hello);
// button 对象调用该函数:
document.getElementById("btn").addEventListener("click", hello);

亲自试一试

mifano

kamaanisha fungu hali ya kichwa cha mwelekeo hii 表示函数的拥有者:

// 箭头函数:
hello = () => {
  document.getElementById("demo").innerHTML += this;
}
// window 对象调用该函数:
window.addEventListener("load", hello);
// button 对象调用该函数:
document.getElementById("btn").addEventListener("click", hello);

亲自试一试

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

Muungano wa Kibaki

Tafaniki hii inonyesha na jina la tovuti iliyotumia kwanza ya kusimamia ufunguo wa jifunzeo za ufupishaji wa JavaScript:

Chrome IE Firefox Safari Opera
Chrome 45 Edge 12 Firefox 22 Safari 10 Opera 32
September 2015 July 2015 May 2013 September 2016 September 2015