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


Asynchrone JavaScript

"Ek sal later klaarmaak!"

Funksies wat parallel met ander funksies loop, word asinchronies genoem

'n Goeie voorbeeld is JavaScript setTimeout()

Asynchrone JavaScript

Die voorbeelde wat in die vorige hoofstuk gebruik is, was baie vereenvoudig.

Die doel van die voorbeelde was om die sintaksis van terugbelfunksies te demonstreer:

Voorbeeld

function myDisplayer(something) {
  document.getElementById("demo").innerHTML = something;
}

function myCalculator(num1, num2, myCallback) {
  let sum = num1 + num2;
  myCallback(sum);
}

myCalculator(5, 5, myDisplayer);

In die voorbeeld hierbo, myDisplayeris die naam van 'n funksie.

Dit word deurgegee myCalculator()as 'n argument.

In die regte wêreld word terugroepe meestal met asinchrone funksies gebruik.

'n Tipiese voorbeeld is JavaScript setTimeout().


Wag vir 'n Time-out

Wanneer jy die JavaScript-funksie gebruik setTimeout(), kan jy 'n terugbelfunksie spesifiseer wat uitgevoer moet word met tyd-uit:

Voorbeeld

setTimeout(myFunction, 3000);

function myFunction() {
  document.getElementById("demo").innerHTML = "I love You !!";
}

In die voorbeeld hierbo myFunctionword dit as 'n terugbel gebruik.

myFunctionword setTimeout()as argument deurgegee.

3000 is die aantal millisekondes voor tyd-uit, dus myFunction()sal na 3 sekondes geroep word.

Wanneer jy 'n funksie as 'n argument deurgee, onthou om nie hakies te gebruik nie.

Regs: setTimeout (myFunction, 3000);

Verkeerde:setTimeout(myFunction(), 3000);

In plaas daarvan om die naam van 'n funksie as 'n argument na 'n ander funksie oor te dra, kan jy altyd 'n hele funksie in plaas daarvan deurgee:

Voorbeeld

setTimeout(function() { myFunction("I love You !!!"); }, 3000);

function myFunction(value) {
  document.getElementById("demo").innerHTML = value;
}

In die voorbeeld hierbo function(){ myFunction("I love You !!!"); } word dit as 'n terugbel gebruik. Dit is 'n volledige funksie. Die volledige funksie word as 'n argument na setTimeout() oorgedra.

3000 is die aantal millisekondes voor tyd-uit, dus myFunction()sal na 3 sekondes geroep word.


Wag vir intervalle:

Wanneer jy die JavaScript-funksie gebruik setInterval(), kan jy 'n terugbelfunksie spesifiseer wat vir elke interval uitgevoer moet word:

Voorbeeld

setInterval(myFunction, 1000);

function myFunction() {
  let d = new Date();
  document.getElementById("demo").innerHTML=
  d.getHours() + ":" +
  d.getMinutes() + ":" +
  d.getSeconds();
}

In die voorbeeld hierbo myFunctionword dit as 'n terugbel gebruik.

myFunctionword setInterval()as argument deurgegee.

1000 is die aantal millisekondes tussen intervalle, so myFunction()sal elke sekonde genoem word.


Wag vir lêers

As jy 'n funksie skep om 'n eksterne hulpbron (soos 'n skrif of 'n lêer) te laai, kan jy nie die inhoud gebruik voordat dit volledig gelaai is nie.

Dit is die perfekte tyd om 'n terugbel te gebruik.

Hierdie voorbeeld laai 'n HTML-lêer ( mycar.html), en vertoon die HTML-lêer in 'n webblad, nadat die lêer volledig gelaai is:

Wag vir 'n lêer:

function myDisplayer(some) {
  document.getElementById("demo").innerHTML = some;
}

function getFile(myCallback) {
  let req = new XMLHttpRequest();
  req.open('GET', "mycar.html");
  req.onload = function() {
    if (req.status == 200) {
      myCallback(this.responseText);
    } else {
      myCallback("Error: " + req.status);
    }
  }
  req.send();
}

getFile(myDisplayer);

In die voorbeeld hierbo myDisplayerword dit as 'n terugbel gebruik.

myDisplayerword getFile()as argument deurgegee.

Hieronder is 'n kopie van mycar.html:

mycar.html


<img src="img_car.jpg" alt="Nice car" style="width:100%">

<p>A car is a wheeled, self-powered motor vehicle used for transportation.
Most definitions of the term specify that cars are designed to run primarily on roads, to have seating for one to eight people, to typically have four wheels.</p>

<p>(Wikipedia)</p>