GEO2311

Javascript 1

  • Hva er egentlig programmering?
  • Abstraksjonsprinspippet
  • Byggeklosser i et programmeringsspråk
  • Hvorfor trenger vi Javascript?
  • Hva kjennetegner Javascript?

Hva er egentlig programmering?

 

sammenlignet med

- kakeoppskrifter

- reparasjonshåndbok for en bil

 

Dermed er programmering

- en serie med instruksjoner som en datamaskin kan følge

 

 

- med programmering kan vi bestemme hva datamaskinen skal gjøre

Abstraksjonsprinsippet

 

- når har vi egentlig bruk for et dataprogram?

 

- når vi begynner å gjenta oss selv

- når oppgaver/beregninger begynner å bli rutine

 

- da kan vi begynne å se etter det generelle i problemet - det som kan abstraheres

 

Derfor:

 

DRY

Don't Repeat Yourself

Programmering handler om å bruke metoder som gjør at du slipper å repetere deg selv.

Vi skal se på byggeklosser i et programmeringsspråk.

Ta vare på dataene ved hjelp av variabler


var w1 = 2;
var h1 = 4;

Generaliser oppgavene som skal gjøres ved hjelp av funksjoner


function area(width, height) {
    return width * height;
};


var a1 = area(4,2);

Ting i den virkelige verden kan beskrives med objekter


var r1 = {};

var r1 = {};
r1.width = 2;
r1.height = 3;
r1.area = function() {return this.width * this.height};

Her utvides objektet r1 med to variabler og en funksjon

Objekter - literal notation


var r1 = {
  width: 2,
  height: 3,
  area: function() {return this.width * this.height}
}

Object - literal notation, men alt på en gang


var r1 = new Object();
r1.width = 2;
r1.height = 3;
r1.area = function () {return this.width * this.height};

Object - constructor notation

Object - constructor notation


function Rectangle(width, height) {
  this.width = width;
  this.height = height;
  this.area = function () {return this.width * this.height};
}

var r1 = new Rectangle(2,3);
var r2 = new Rectangle(4,5);

Funksjonen Rectangle fungerer her som en prototype for nye objekter.

I Javascript er funksjoner også objekter

Merk at med denne metoden trenger vi ikke å gjenta kode for hvert nytt rektangel: DRY i praksis!

Hva kjennetegner Javascript?

 

- laget for å brukes i nettlesere

- Javascript kjøres på klienten

- imperativt

- funksjonelt

- loose typing (krever ikke deklarering av datatyper)

- objektorientert

- har prototypebasert, ikke klassebasert arv

GEO2311-H2016 - Javascript 1

By sverres

GEO2311-H2016 - Javascript 1

  • 803