Upload
sebastian-bengtegard
View
310
Download
3
Embed Size (px)
Citation preview
Föreläsning 2: Programstruktur
ME152A
Repetition
Föreläsning 2
• Vilka primära typer finns det? • Vilka olika typer av operatorer finns det? • Vad är en vektor?
Explicit konvertering av typer
Föreläsning 2
• Number()- konvertera till en siffra • String()- konvertera till en sträng • Boolean() - konvertera till boolesk
Föreläsning 2
// Från en sträng till en siffra Number("55.3"); // => 55.3
// Från en siffra till en sträng String(1446); // => "1446"
// Från en siffra till en boolesk Boolean(1); // => true // Från en sträng till en boolesk Boolean(""); // => false
Föreläsning 2
// Det går givetvis att använda variabler var a = "Test"; var b = Number(a); // => ?
var c = -1; var d = Boolean(c); // => ?
Föreläsning 2
Explicit konvertering av typer - när?
// Funktionen prompt öppnar ett dialog // fönster där användaren har möjlighet // att fylla i med information var name = prompt("What is your name?");
// Vad får vi tillbaka här? var age = prompt("How old are you?");
typeof age; // => ?
Föreläsning 2
Explicit konvertering av typer - när?
// Lösning, // Konvertera det värde vi fick (sträng) // till en siffra var age = Number(prompt("How old are you?"));
// Om text fylls i, vad händer då?
Föreläsning 2
Specialtyp
• NaN - “Not a number” • isNaN() - kontrollera om värdet inte är en siffra
// Kontrollera om konverteringen // resulterar i NaN var age = Number(prompt("How old are you?"));
isNaN(age); // => ?
Föreläsning 2
Villkorlig exekvering
• Logisk jämförelse vars resultat bestämmer
vad som skall exekveras • Flera jämförelser kan grupperas • Grunden för att göra interaktiva program
Föreläsning 2
Villkorlig exekvering - hur?
// Villkorlig exekvering grundas på if-satser if (true) { console.log("Detta kommer att skrivas ut"); }
if (false) { console.log("Detta kommer inte att skrivas ut"); }
Föreläsning 2
Villkorlig exekvering - gruppering
var name = "Bo";
// Om namnet innehåller mer än 3 bokstäver if (name.length > 3) { console.log("Long name."); // Om namnet innehåller mindre än 3 bokstäver } else { console.log("Short name."); }
Föreläsning 2
Villkorlig exekvering - gruppering
var num = 10 * 10 + 256;
// Gruppering med fler jämförelser if (num < 10) { console.log("Small"); } else if (num < 100) { console.log("Medium"); } else if (num < 1000) { console.log("Large"); } else { console.log("Extra Large"); }
Föreläsning 2
Loopar
• Upprepa ett block av kod • Villkor styr antalet upprepningar
• Exempelvis kan ett villkor grundas på input
från en användare
Föreläsning 2
Loopar - forts.Skriv ut siffrorna 1 till 10
var number = 1;
// Upprepa till "number" har värdet 10 while (number <= 10) { // Skriv ut "number" console.log(number); // Öka number med sig själv + 1 number = number + 1; }
Föreläsning 2
Loopar - forts.
// En "do-while" utförs alltid minst en gång do { var name = prompt("What is your name?"); // Fortsätt så länge name är tom } while (name == "");
console.log(name);
Föreläsning 2
Loopar - forts.
for (var number = 1; number <= 10; number++) { console.log(number); }
Skriv ut siffrorna 1 till 10
Föreläsning 2
Loopar - forts.
For-loop • Tre delar
• Initiera variabler • Villkor som styr antal upprepningar • Påverka variablerna efter varje upprepning
Föreläsning 2
Loopar - forts.
var number = 0;
// Öka med 1 på tre olika vis
number = number + 1;
number += 1;
number++;
Föreläsning 2
Loopar - forts.
var number = 10;
// Minska med 1 på tre olika vis
number = number - 1;
number -= 1;
number—-;
Föreläsning 2
Loopar - forts.
// For-loop i kombination med en array var years = [2002, 2003, 2004, 2005];
// Upprepa vårt block grundat på antal // element i vår array "years" for (var i = 0; i < years.length; i++) { // Vid varje iteration använder vi vår // variabel "i" som ett index för att // hämta ett år från vår array var year = years[i]; console.log(year); }
Föreläsning 2
Loopar - forts.
for (var number = 10; number > 0; number--) { console.log(number); }
Skriv ut siffrorna 10 till 1
Föreläsning 2
Villkor - Ternary operator
var message = ""; var name = "Max";
if (name.length > 3) { message = "Long"; } else { message = "Short"; }
// Alternativ var message = name.length > 3 ? "Long" : "Short";