JS Tutoriaal

JS TUIS JS Inleiding JS Waarheen JS Uitset JS Verklarings JS sintaksis JS Kommentaar JS veranderlikes JS Laat JS Konst JS-operateurs JS Rekenkunde JS Opdrag JS datatipes JS Funksies JS Voorwerpe JS Events JS Strings JS String Metodes JS String Soek JS String Templates JS nommers JS-nommermetodes JS Skikkings JS Skikking Metodes JS Array Sorteer JS Skikking Iterasie JS Array Konst JS Datums JS Datum Formate JS Datum Kry Metodes JS Datum Stel Metodes JS Wiskunde JS Random JS Booleans JS Vergelykings JS Voorwaardes JS Skakelaar JS Loop Vir JS Loop For In JS Loop Vir Van JS Loop Terwyl JS Break JS Iterables JS-stelle JS Kaarte JS tipe JS Tipe Omskakeling JS Bitwise JS RegExp JS foute JS Bestek JS Hysing JS Streng modus JS hierdie sleutelwoord JS Arrow Funksie JS Klasse JS JSON JS Ontfouting JS Stylgids JS Beste Praktyke JS foute JS prestasie JS Voorbehou Woorde

JS weergawes

JS weergawes JS 2009 (ES5) JS 2015 (ES6) JS 2016 JS 2017 JS 2018 JS IE / Edge JS Geskiedenis

JS Voorwerpe

Voorwerpdefinisies Voorwerp Eienskappe Voorwerp Metodes Voorwerp vertoon Voorwerptoebehore Voorwerpkonstrukteurs Voorwerpprototipes Object Iterables Voorwerpstelle Voorwerpkaarte Voorwerpverwysing

JS Funksies

Funksie definisies Funksie parameters Funksie Aanroep Funksie oproep Funksie Pas toe Funksie sluitings

JS Klasse

Klasintro Klas Erfenis Klas Staties

JS Async

JS Terugbelle JS Asynchroon JS Beloftes JS Async/Wag

JS HTML DOM

DOM Inleiding DOM Metodes DOM-dokument DOM Elemente DOM HTML DOM-vorms DOM CSS DOM-animasies DOM-geleenthede DOM Gebeurtenis Luisteraar DOM-navigasie DOM nodusse DOM Versamelings DOM Node lyste

JS Browser BOM

JS venster JS skerm JS ligging JS Geskiedenis JS Navigator JS Popup Alert JS Tydsberekening JS koekies

JS Web API's

Web API Inleiding Webvorms API Webgeskiedenis API Webberging API Webwerker API Web haal API Web Geolocation API

JS AJAX

AJAX Intro AJAX XMLHttp AJAX-versoek AJAX-reaksie AJAX XML-lêer AJAX PHP AJAX ASP AJAX-databasis AJAX toepassings AJAX voorbeelde

JS JSON

JSON Inleiding JSON-sintaksis JSON vs XML JSON-datatipes JSON Ontleed JSON Stringify JSON-voorwerpe JSON-skikkings JSON-bediener JSON PHP JSON HTML JSON JSONP

JS vs jQuery

jQuery keurders jQuery HTML jQuery CSS jQuery DOM

JS grafika

JS grafika JS Canvas JS Plot JS Chart.js JS Google Chart JS D3.js

JS Voorbeelde

JS Voorbeelde JS HTML DOM JS HTML-invoer JS HTML-voorwerpe JS HTML-geleenthede JS Blaaier JS Redakteur JS Oefeninge JS Vasvra JS Sertifikaat

JS Verwysings

JavaScript-voorwerpe HTML DOM-voorwerpe


JavaScript-pyltjie-funksie

Pyltjie-funksies is in ES6 bekendgestel.

Pyltjiefunksies laat ons toe om korter funksiesintaksis te skryf:

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

Voor:

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

Met pylfunksie:

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

Dit word korter! As die funksie net een stelling het, en die stelling gee 'n waarde terug, kan jy die hakies en die returnsleutelwoord verwyder:

Pyltjiefunksies Retourwaarde by verstek:

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

Let wel: Dit werk slegs as die funksie net een stelling het.

As jy parameters het, gee jy dit binne die hakies deur:

Pyltjiefunksie met parameters:

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

Trouens, as jy net een parameter het, kan jy die hakies ook oorslaan:

Pyltjiefunksie sonder hakies:

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


Waarvan this?

Die hantering van thisis ook anders in pylfunksies in vergelyking met gewone funksies.

Kortom, met pylfunksies is daar geen binding van this.

In gewone funksies het die thissleutelwoord die voorwerp verteenwoordig wat die funksie genoem het, wat die venster, die dokument, 'n knoppie of wat ook al kan wees.

Met pylfunksies verteenwoordig die thissleutelwoord altyd die voorwerp wat die pylfunksie gedefinieer het.

Kom ons kyk na twee voorbeelde om die verskil te verstaan.

Beide voorbeelde noem 'n metode twee keer, eers wanneer die bladsy laai, en weer eens wanneer die gebruiker 'n knoppie klik.

Die eerste voorbeeld gebruik 'n gewone funksie, en die tweede voorbeeld gebruik 'n pyltjie funksie.

Die resultaat toon dat die eerste voorbeeld twee verskillende voorwerpe (venster en knoppie) gee, en die tweede voorbeeld gee die venstervoorwerp twee keer terug, omdat die vensterobjek die "eienaar" van die funksie is.

Voorbeeld

Met 'n gewone funksie thisverteenwoordig die voorwerp wat die funksie oproep :

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

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

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

Voorbeeld

Met 'n pyltjie thisverteenwoordig funksie die eienaar van die funksie:

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

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

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

Onthou hierdie verskille wanneer jy met funksies werk. Soms is die gedrag van gereelde funksies wat jy wil hê, indien nie, gebruik pylfunksies.


Blaaierondersteuning

Die volgende tabel definieer die eerste blaaierweergawes met volle ondersteuning vir Arrow Functions in JavaScript:

Chrome 45 Edge 12 Firefox 22 Safari 10 Opera 32
Sep, 2015 Jul, 2015 May, 2013 Sep, 2016 Sep, 2015