[ Web Proxy ]
URL:
Viewing: https://da.javascript.info/javascript-specials [Back]  [Original]

Srlige kendetegn ved JavaScript
DA

Vi nsker at gre dette open source-projekt tilgngeligt for folk over hele verden.

Hjlp med at overstte indholdet af denne tutorial til dit sprog!

    Sg p Javascript.info:
    Sg i tutorialen:
    Lyst temaMrkt tema
    DanskEnglishEspaolFranaisIndonesiaItalianoTrkeOzbek

    Srlige kendetegn ved JavaScript

    Dette kapitel opsummerer kort de funktioner i JavaScript, som vi har lrt indtil nu, med srlig opmrksomhed p subtile jeblikke.

    Kodestruktur

    Udsagn afsluttes med et semikolon:

    alert('Hello'); alert('World');

    Normalt behandles et linjeskift ogs som en afgrnser, s det ville ogs fungere:

    alert('Hello')
    alert('World')

    Dette kaldes automatisk semikolonindsttelse. Nogle gange virker det ikke, for eksempel:

    alert("Der vil vre en fejl efter denne besked")
    
    [1, 2].forEach(alert)

    De fleste guider anbefaler, at vi br stte et semikolon efter hvert udsagn, men det er ikke et krav, og det er op til dig at beslutte, om du vil bruge dem eller ej.

    Semikoloner er ikke pkrvet efter kodeblokke {...} og syntaks-konstruktioner med dem som lkker:

    function f() {
      // ingen semikolon ndvendig efter funktionsdeklaration
    }
    
    for(;;) {
      // ingen semikolon ndvendig efter lkken
    }

    Men selv hvis vi kan stte et ekstra semikolon et sted, er det ikke en fejl. Det vil blive ignoreret.

    Mere information: Kodens struktur.

    Strict mode

    For fuldt ud at aktivere alle funktioner i moderne JavaScript, kan man starte scripts med "use strict".

    'use strict';
    
    ...

    Dette direktiv skal vre verst i et script eller i begyndelsen af en funktionskrop.

    Uden "use strict" fungerer alt stadig, men nogle funktioner opfrer sig p den gammeldags, kompatible mde. Vi foretrkker generelt den moderne opfrsel.

    Nogle moderne funktioner i sproget (som klasser, som vi vil studere i fremtiden) aktiverer implicit strict mode.

    Mere information: Den 'moderne' metode, "use strict".

    Variable

    Kan deklareres med:

    • let
    • const (konstant, kan ikke ndres)
    • var (gammel stil, vil se senere)

    Et variabelnavn kan indeholde:

    • Bogstaver og cifre, men det frste tegn m ikke vre et ciffer.
    • Tegnene $ og _ er normale, p lige fod med bogstaver.
    • Ikke-latinske alfabeter og hieroglyffer er ogs tilladt, men bruges almindeligvis ikke.

    Variable er dynamiske datatyper. De kan gemme enhver vrdi:

    let x = 5;
    x = "John";

    Der er 8 datatyper:

    • number for bde flydende og heltal,
    • bigint for heltal af vilkrlig lngde,
    • string for tekststrenge,
    • boolean for logiske vrdier: true/false,
    • null en datatype med en enkelt vrdi null, der betyder tom eller findes ikke,
    • undefined en datatype med en enkelt vrdi undefined, der betyder ikke tildelt,
    • object og symbol for komplekse datastrukturer og unikke identifikatorer, som vi endnu ikke har lrt.

    Operatoren typeof returnerer typen for en vrdi, med to undtagelser:

    typeof null == "object" // en "gammel fejl" i sproget
    typeof function(){} == "function" // funktioner behandles specielt

    Mere information: Variables og Datatyper.

    Interaktion

    Vi bruger browseren som arbejdsomrde, s grundlggende UI-funktioner vil vre:

    prompt(question, [default])
    Stil et sprgsml, og returner enten det, som besgende indtastede, eller null, hvis de klikkede p anuller.
    confirm(question)
    Stil et sprgsml, og foresl at vlge mellem Ok og Annuller. Valget returneres som true/false.
    alert(message)
    Vis en besked.

    Alle disse funktioner er modale, de pauser kodeudfrelsen og forhindrer besgende i at interagere med siden, indtil de svarer.

    For eksempel:

    let userName = prompt("Hvad er dit navn?", "Karsten");
    let isTeaWanted = confirm("Vil du have noget te?");
    
    alert( "Besgende: " + userName ); // Karsten
    alert( "Te nskes: " + isTeaWanted ); // true eller false

    Mere information: Interaktion: alert, prompt, confirm.

    Operatorer

    JavaScript understtter flgende operatorer:

    Aritmetiske

    Almindelige: * + - /, ogs % for rest og ** for potens af et tal.

    Den binre plus + sammenkder strenge. Og hvis en af operanderne er en streng, konverteres den anden ogs til en streng:

    alert( '1' + 2 ); // '12', string
    alert( 1 + '2' ); // '12', string
    Tildelingsoperatorer

    Der er en simpel tildeling: a = b og kombinerede som a *= 2.

    Bitvise operatorer

    Bitvise operatorer arbejder med 32-bit heltal p det laveste, bit-niveau: se dokumentationen, nr de er ndvendige.

    Betinget operator

    Den eneste operator med tre parametre: cond ? resultA : resultB. Hvis cond er sand, returneres resultA, ellers resultB.

    Logiske operatorer

    Logisk OG && og ELLER || udfrer short circuit-evaluering og returnerer derefter vrdien, hvor den stoppede (ikke ndvendigvis true/false). Logisk IKKE ! konverterer operanden til boolesk type og returnerer den inverse vrdi.

    Nullish coalescing-operator

    ??-operatoren giver en mde at vlge en defineret vrdi fra en liste af variabler. Resultatet af a ?? b er a, medmindre det er null/undefined, s er det b.

    Sammenligninger

    Lighedstjek == for vrdier af forskellige typer konverterer dem til et tal (undtagen null og undefined, der er lige med hinanden og ikke noget andet), s disse er lige:

    alert( 0 == false ); // true
    alert( 0 == '' ); // true

    Andre sammenligninger konverterer ogs til et tal.

    Den strenge lighedoperator === foretager ikke konverteringen: forskellige typer betyder altid forskellige vrdier for den.

    Vrdierne null og undefined er specielle: de er == lige med hinanden og ikke med noget andet.

    Strre/mindre sammenligninger sammenligner strenge tegn for tegn, andre typer konverteres til et tal.

    Andre operatorer

    Der er f andre, som komma-operatoren.

    Mere information: Grundlggende operatorer, matematik, Sammenligning, Logiske operatorer, Nullish coalescing operator '??'.

    Lkker

    • Vi har dkket 3 typer lkker:

      // 1
      while (betingelse) {
        ...
      }
      
      // 2
      do {
        ...
      } while (betingelse);
      
      // 3
      for(let i = 0; i < 10; i++) {
        ...
      }
    • Variablen, der erklres i for(let...) lkken, er kun synlig inden for lkken. Men vi kan ogs udelade let og genbruge en eksisterende variabel.

    • Direktiverne break/continue tillader at afslutte hele lkken/den aktuelle iteration. Brug labels til at bryde ud af indlejrede lkker.

    Mere information: Lkker: while og for.

    Senere vil vi studere flere typer lkker til at hndtere objekter.

    switch-konstruktionen

    switch-konstruktionen kan erstatte flere if-kontroller. Den bruger === (streng lighed) til sammenligninger.

    For eksempel:

    let age = prompt('Din alder?', 18);
    
    switch (age) {
      case 18:
        alert("Virker ikke"); // resultatet af prompt er en streng, ikke et tal
        break;
    
      case "18":
        alert("Virker!");
        break;
    
      default:
        alert("Enhver vrdi, der ikke er lig med en af ovenstende");
    }

    Mere information: "switch" udtryk.

    Funktioner

    Vi har dkket tre mder at oprette en funktion i JavaScript:

    1. Funktionsdeklaration: funktionen i hovedkodeflowet

      function sum(a, b) {
        let result = a + b;
      
        return result;
      }
    2. Funktionsudtryk: funktionen i konteksten af et udtryk

      let sum = function(a, b) {
        let result = a + b;
      
        return result;
      };
    3. Arrow functions (pilefunktioner):

      // Udtrykket p hjre side
      let sum = (a, b) => a + b;
      
      // eller flersidet syntaks med { ... }, skal bruge return her:
      let sum = (a, b) => {
        // ...
        return a + b;
      }
      
      // uden argumenter - skal bruge ()
      let sayHi = () => alert("Hej");
      
      // med et enkelt argument
      let double = n => n * 2;
    • Funktioner kan have lokale variabler: dem, der erklres inde i dens krop eller i dens parameterliste. Sdanne variabler er kun synlige inde i funktionen.
    • Parametre kan have standardvrdier: function sum(a = 1, b = 2) {...}.
    • Funktioner returnerer altid noget. Hvis der ikke er nogen return-stning, er resultatet undefined.

    Mere information: se Funktioner, Pilefunktioner (Arrow functions), grundlggende.

    Der kommer mere

    Ovenstende er en kort liste over JavaScript-funktioner. Indtil videre har vi kun studeret det grundlggende. Senere i vejledningen vil du finde flere specialfunktioner og og avanceret funktionalitet i JavaScript.

    Tutorial-oversigt

    Kommentarer

    ls dette fr du kommenterer
    • Hvis du har forslag til forbedringer - s opret venligst et GitHub-issue eller en pull request i stedet for at kommentere.
    • Hvis du ikke forstr noget i artiklen - s uddyb venligst.
    • For at indstte f ord kode, brug <code>-taggen, for flere linjer - omslut dem i <pre>-tag, for mere end 10 linjer - brug en sandbox (plnkr, jsbin, codepen)

    Web Proxy Viewer  |  New URL  |  Original Page