Det programmeringsspråk som finns i alla webbläsare.
Gör det möjligt att skapa avancerade beteenden på webben.
För att lägga till Javascript på en webbsida kan du använda taggen script.
Om det inte är ett mycket litet skript är det bättre att spara det som en egen fil. Med attributet src kan man istället hänvisa till en fil
Köra javascript direkt i webbläsaren.
I utvecklarverktygen finns det en Javascript-konsol.
ctrl + shift + J
(Chrome i Windows)
"use strict";
Med denna som första rad i ditt Javascript kommer resultatet bli en striktare, mer modern tolkning av ditt javascript.
CoffeeScript och TypeScript är två vanligt förekommande varianter som kompileras till JavaScript.
Babel - transpiler som gör om JavaScript till JavaScript.
ESLint är ett verktyg som kan hitta och fixa fel i ditt JavaScript.
Prettier är ett verktyg som formaterar din kod åt dig.
(eng. expression)
Kod består av ett antal uttryck som tolkas i den ordning de skrivs.
För att datorn ska veta var ett uttryck slutar och nästa börjar används ; (semikolon).
En variabel kan ses som ett namngivet värde.
let antal = 4;
I Javascript måste man deklarera en variabel innan man använder den första gången.
Det görs med nyckelordert let.
I exemplet tilldelas variabeln antal värdet 4. Det går bra att deklarera först och tilldela senare.
let antal;
antal = 4;
Ett variabelnamn får innehålla siffror, bokstäver, understreck och dollartecken.
Ett variabelnamn får inte börja med en siffra.
resultatettBraNamn_specialx3Det finns ett antal reserverade ord som inte får användas som variabelnamn.
Alla värden har alltid en datatyp.
Javascript är ett dynamiskt typat språk och man måste inte ange vilken datatyp en variabel ska ha när den deklareras.
Javascript är mjukt typat och kommer försöka konvertera mellan olika datatyper.
I Javascript finns det 8 primitiva datatyper.
Boolean, Number, String och Object används mycket.
Null, Undefined, BigInt och Symbol används mindre ofta.
Det finns fler datatyper som inte är primitiva. De är uppbyggda en eller flera primitiva datatyper.
Exempel på sådana datatyper är array och function.
Exempel på operatorer är +, - och *.
+ |
addition eller konkatenering |
- |
subtraktion eller negation |
* |
multiplikation |
/ |
division |
% |
modulo (rest vid heltalsdivision) |
** |
upphöjt till |
++, -- |
öka med 1, minska med 1 |
== |
likhet |
!= |
olikhet |
=== |
strikt likhet |
!== |
strikt olikhet |
> |
större än |
>= |
större än eller lika med |
< |
mindre än |
<= |
mindre än eller lika med |
&& |
logiskt och (AND) |
|| |
logiskt eller (OR) |
! |
logiskt icke (NOT) |
Förutom den vanliga tilldelningsoperatorn, =, finns det även ett antal operatorer som
kombinerar tilldelning och en annan operator.
+=-=*=/=%=**=<<=>>=>>>=&=^=|=
x += 3 är samma sak som x = x + 3
Hoppar vi över, för stunden...
&|^~<<>>>>>...tillsammans med kommaoperatorn och den trinära operatorn.
if
if (x > 0) {
console.log('x är positivt');
}
Koden i if-satsen kommer endast att köras om villkoret är sant.
if…else
if (x > 0) {
// Gör rätt sak
} else {
// Gör rätt sak
}
if…else if…else
if (x > 100) {
// Gör rätt sak
} else if (x > 50) {
// Gör rätt sak
} else {
// Gör rätt sak
}
else if kan upprepas flera gånger.
forOfta behöver något göras många gånger och då kan man använda en for-loop.
for (let i = 0; i < 100; i++) {
/* Denna kod körs 100 gånger. */
}
Först i parentesen finns en initiering följt av ett villkor och sist ett uttryck för "uppräkning".
for…ofNär man en samling och vill tänka
en gång för varje.
for (color of allColors) {
/* En gång för varje färg. */
}
Det finns fler kontrollstrukturer...
switchwhiledo…whilefor…intry…catchUndvika upprepningar.
Strukturera koden.
function multiply(a, b) {
return a * b;
}
function.multiply).a och b).return?Ibland skapar man i Javascript anonyma funktioner. De har inget namn utan används direkt.
setTimeout(function () {
console.log('Den anonyma funktionen kördes.');
}, 1000);
Det handlar oftast om att fördröja körning av kod.
Det finns en alternativ syntax.
setTimeout( () => {
console.log('Den anonyma funktionen kördes.');
}, 1000);
För att webbläsaren ska hinna tolka all HTML och bygga upp DOM behöver man ofta vänta på den.
document.addEventListener("DOMContentLoaded", function () {
console.log('DOM Ready...')
// Mer kod som är beroende av DOM.
});
Hämta element i DOM.
document.getElementById('id');
document.getElementsByClassName('klass');
document.querySelector('selector');
Skapa timers
// Skapa ny timer som kör minSuperFunktion var 500 ms.
let timer = setInterval(minSuperFunktion, 500);
// Stoppa timer
clearInterval(timer);
// Skapa ny timer som kör minSuperFunktion om 1 s.
let timer = setTimeout(minSuperFunktion, 1000);
// Stoppa timer utan att minSuperFunktion körs.
clearTimeout(timer);