Upload
sebastian-bengtegard
View
170
Download
4
Embed Size (px)
Citation preview
Föreläsning 4: Funktioner (forts)
ME152A
Repetition
Föreläsning 4
• Varför används funktioner? • Vilka delar utgör en funktion? • Vilka typer av funktioner finns det?
Föreläsning 4
• Lokala kontra globala variabler • Argument & parametrar • Vad innebär return?
Funktion
Föreläsning 4
var height = 10; var width = 12;
function calculateArea(h, w) { return h * width; }
var area = calculateArea(5, 8);
Föreläsning 4
Exempel - “max”
Föreläsning 4
• Vad är pseudokod? • Hur kan detta underlätta förståelse? • Kan ses som att “skissa” ett program
Pseudokod
Föreläsning 4
Exempel - “range”
Föreläsning 4
• Hantera komplexitet • Underlättar förståelse • Minskar risk för “buggar” • Uppdelning av ansvar • Underlättar underhåll
Abstraktion
Föreläsning 4
// 1. var total = 0; for (var i = 0; i <= 10; i++) { total += i; } console.log(total);
// 2. console.log(sum(range(10));
Föreläsning 4
• Döljer detaljerna (komplexiteten) • Möjliggör komposition
• Vi kan fokusera på processen (inte detaljerna)
Higher-Order functions
Föreläsning 4
Exempel - “skriv ut alla siffror från en array”
Föreläsning 4
• Kan liknas vid en tabell av rader och kolumner • För varje array i en annan array adderar vi en dimension
Tvådimensionell array
// En array kan innehålla alla // typer av värden, även arrayer var people = [ ["Jane", 22], ["Peter", 43], ["Stevie", 10], ["Pheobe", 33], ["Hendrix", 56], ["Arnold", 65], ["Beatrix", 32] ];
Föreläsning 4
var people = [ ["Jane", 22], ["Peter", 43], ["Stevie", 10], ["Pheobe", 33], ["Hendrix", 56], ["Arnold", 65], ["Beatrix", 32] ];
console.log( people[0] ); // ["Jane", 22]
console.log( people[3] ); // ["Pheobe", 33]
console.log( people[4][0] ); // "Hendrix"
console.log( people[5][1] ); // 65
Föreläsning 4
Exempel - “hitta högsta åldern”
Föreläsning 4
• Konsekvent utseende på kod • Viktigt i projekt med flera utvecklare • Finns flera olika guider
Style guide
jQuery style guideIdiomatic JavaScript