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 -omvang

Omvang bepaal die toeganklikheid (sigbaarheid) van veranderlikes.

JavaScript het 3 tipes omvang:

  • Blok omvang
  • Funksie omvang
  • Globale omvang

Blok Omvang

Voor ES6 (2015) het JavaScript net Global Scope en Function Scope gehad .

ES6 het twee belangrike nuwe JavaScript-sleutelwoorde bekendgestel: leten const.

Hierdie twee sleutelwoorde bied Block Scope in JavaScript.

Veranderlikes wat binne 'n { }-blok verklaar word, kan nie van buite die blok verkry word nie:

Voorbeeld

{
  let x = 2;
}
// x can NOT be used here

Veranderlikes wat met die varsleutelwoord verklaar word, kan NIE blokomvang hê nie.

Veranderlikes wat binne 'n { }-blok verklaar word, kan van buite die blok verkry word.

Voorbeeld

{
  var x = 2;
}
// x CAN be used here

Plaaslike Omvang

Veranderlikes wat binne 'n JavaScript-funksie verklaar word, word PLAASLIK vir die funksie.

Voorbeeld

// code here can NOT use carName

function myFunction() {
  let carName = "Volvo";
  // code here CAN use carName
}

// code here can NOT use carName

Plaaslike veranderlikes het Funksie Omvang :

Hulle kan slegs van binne die funksie verkry word.

Aangesien plaaslike veranderlikes slegs binne hul funksies herken word, kan veranderlikes met dieselfde naam in verskillende funksies gebruik word.

Plaaslike veranderlikes word geskep wanneer 'n funksie begin, en uitgevee wanneer die funksie voltooi is.


Funksie Omvang

JavaScript het funksie-omvang: Elke funksie skep 'n nuwe omvang.

Veranderlikes wat binne 'n funksie gedefinieer is, is nie toeganklik (sigbaar) van buite die funksie nie.

Veranderlikes verklaar met var, let en constis redelik soortgelyk wanneer dit in 'n funksie verklaar word.

Hulle het almal Funksie Omvang :

function myFunction() {
  var carName = "Volvo";   // Function Scope
}
function myFunction() {
  let carName = "Volvo";   // Function Scope
}
function myFunction() {
  const carName = "Volvo";   // Function Scope
}

Globale JavaScript-veranderlikes

'n Veranderlike wat buite 'n funksie verklaar word, word GLOBAL .

Voorbeeld

let carName = "Volvo";
// code here can use carName

function myFunction() {
// code here can also use carName
}

'n Globale veranderlike het Global Scope :

Alle skrifte en funksies op 'n webblad het toegang daartoe. 


Globale Omvang

Veranderlikes wat globaal verklaar is (buite enige funksie) het Global Scope .

Globale veranderlikes kan vanaf enige plek in 'n JavaScript-program verkry word.

Veranderlikes verklaar met var, let en constis redelik soortgelyk wanneer dit buite 'n blok verklaar word.

Hulle het almal globale omvang :

var x = 2;       // Global scope
let x = 2;       // Global scope
const x = 2;       // Global scope

JavaScript veranderlikes

In JavaScript is voorwerpe en funksies ook veranderlikes.

Omvang bepaal die toeganklikheid van veranderlikes, voorwerpe en funksies van verskillende dele van die kode.



Outomaties Global

As jy 'n waarde toeken aan 'n veranderlike wat nie verklaar is nie, sal dit outomaties 'n GLOBALE veranderlike word.

Hierdie kodevoorbeeld sal 'n globale veranderlike verklaar carName, selfs al is die waarde binne 'n funksie toegeken.

Voorbeeld

myFunction();

// code here can use carName

function myFunction() {
  carName = "Volvo";
}

Streng modus

Alle moderne blaaiers ondersteun JavaScript in "Streng modus".

Jy sal meer leer oor hoe om streng modus te gebruik in 'n latere hoofstuk van hierdie tutoriaal.

In "Streng modus" is onverklaarde veranderlikes nie outomaties globaal nie.


Globale veranderlikes in HTML

Met JavaScript is die globale omvang die JavaScript-omgewing.

In HTML is die globale omvang die venstervoorwerp.

Globale veranderlikes wat met die varsleutelwoord gedefinieer word, behoort aan die vensterobjek:

Voorbeeld

var carName = "Volvo";
// code here can use window.carName

Globale veranderlikes wat met die letsleutelwoord gedefinieer word, behoort nie aan die vensterobjek nie:

Voorbeeld

let carName = "Volvo";
// code here can not use window.carName

Waarskuwing

MOENIE globale veranderlikes skep tensy jy van plan is nie.

Jou globale veranderlikes (of funksies) kan venster veranderlikes (of funksies) oorskryf.
Enige funksie, insluitend die vensterobjek, kan jou globale veranderlikes en funksies oorskryf.


Die leeftyd van JavaScript-veranderlikes

Die leeftyd van 'n JavaScript-veranderlike begin wanneer dit verklaar word.

Funksie (plaaslike) veranderlikes word uitgevee wanneer die funksie voltooi is.

In 'n webblaaier word globale veranderlikes uitgevee wanneer jy die blaaiervenster (of oortjie) toemaak.


Funksie Argumente

Funksie-argumente (parameters) werk as plaaslike veranderlikes binne funksies.