Alla programeringsspråk har sina egna egenheter och typiska drag. En del av dessa ser man inte alltid nyttan av direkt, men samtidigt används de flitigt i tillämpningar och bibliotek. Två av dessa för Javascript är IIFE (iffy), samt deras definition av objekt.
IIFE
IIFE står för immediately invoked function expression och uttalas ”iffy”. Iffe innebär att man i samma sats deklarerar en anonym funktion och dessutom anropar denna funktion. IIFE förekommer ofta som ”wrapper” kring kod och används bland annat för händelsehantering och i jQuery.
Exempel:
var speed =(function(){
var dist=30;
var time=45;
return dist*60.0/time;
}());
Observera parenteser.
Objekt
Ett standardobjekt i Javascript är inte som i exempelvis C++ en instans av en klass.I stället så är ett objekt en samling data och funktioner som tillsammans representerar en modell av ett objekt. Antal attribut och metoder är inte konstanta utan man kan lägga till nya attribut och metoder. Det är viktigt att man kommer ihåg vad man lägger till då det inte finns en klass som fungerar som karta eller ritning.
Attribut och metoder kan nås antingen med punktnotation som i Java eller C++, eller med hakparenteser.
Ett objekt kan skapas med sina attribut kommaseparerade inom {}.
var hif = {
name: ’Helsingborgs IF’,
arena: ’Olympia’,
seger1: 1929
};
Man kan också skapa ett tomt objekt med new Object() och sedan lägga till attribut och metoder.
var mff = new Object();
mff.name=’Malmö FF’;
mff.arena=’Swedbank Stadion’;
mff.seger1=1944;
Det finns också ett sätt att skapa objekt med en form av konstruktor.
function Team(name,arena,seger1){
this.name = name;
this.arena = arena;
this.seger1 = seger1;
};
Man får sedan objekt med följande anrop:
var hif = new Team(’Helsingborgs IF’,’Olympia’,1929)
Ett lite smidigare sätt om man vill ha flera objekt med samma namn på attribut.