Discussion:
deklarering af variabler øverst i javascript
(for gammel til at besvare)
scootergrisen
2013-06-11 17:35:19 UTC
Permalink
Hvis jeg køre min Javscript kode igennem http://jslint.com/ for at gøre
min kode bedre så får jeg afvide at jeg skal flytte var op øverst i min
kode.

Men hvis nu man gerne først vil teste om browseren understøtte noget for
først derefter at deklarere variablerne er det så ikke fint ?

Hvis browseren nu ikke understøtter der man skal lave så der ikke brug
for variablerne alligevel.

Er det bare for at koden skal være lettere at overskue at man skal kunne
se alle variabler øverst ?

Jeg har ikke noget i mod og skrive alle variabler øverst jeg tænker bare
det er unødvendigt vis de ikke kommer i brug alle vel på grund af
browseren ikke understøtter det man skal.
Jens Peter Karlsen
2013-06-11 17:55:13 UTC
Permalink
Jo, det er helt fint.
Det anbefales at have deklarationer samlet i toppen for overblikkets
skyld så man ikke ved en fejl deklarerer den samme var 2 gange og har
sikret sig at de er deklareret før de skal bruges.

Regards Jens Peter Karlsen.
Post by scootergrisen
Men hvis nu man gerne først vil teste om browseren understøtte noget for
først derefter at deklarere variablerne er det så ikke fint ?
Birger Sørensen
2013-06-11 18:56:43 UTC
Permalink
Hvis jeg køre min Javscript kode igennem http://jslint.com/ for at gøre min
kode bedre så får jeg afvide at jeg skal flytte var op øverst i min kode.
Men hvis nu man gerne først vil teste om browseren understøtte noget for
først derefter at deklarere variablerne er det så ikke fint ?
Hvis browseren nu ikke understøtter der man skal lave så der ikke brug for
variablerne alligevel.
Er det bare for at koden skal være lettere at overskue at man skal kunne se
alle variabler øverst ?
Jeg har ikke noget i mod og skrive alle variabler øverst jeg tænker bare det
er unødvendigt vis de ikke kommer i brug alle vel på grund af browseren ikke
understøtter det man skal.
At sætte sine variable først, handler først om disciplin
(programmørens), og derefter om stabilitet - de programmer der kommer
ud af programmøren.

Se
https://www.youtube.com/watch?NR=1&v=hQVTIJBZook&feature=endscreen
Det er lige under en time, og meget oplysende - og faktisk også
sjovt...

Birger
--
http://varmeretter.dk - billig, sund og hurtig mad
Utils http://sdccms.dk/ordbog/ http://sdccms.dk/mailfriend/
http://bredelund.dk CMS som det var meningen et sådant skulle være
Leif Neland
2013-06-11 19:16:51 UTC
Permalink
Jeg har ikke noget i mod og skrive alle variabler øverst jeg tænker bare det
er unødvendigt vis de ikke kommer i brug alle vel på grund af browseren ikke
understøtter det man skal.
Måske kan de browserspecifikke variable anbringes sammen i toppen af
den funktion, der kun skal kaldes hvis browseren forstår de
operationer.

Leif
--
Husk kørelys bagpå, hvis din bilfabrikant har taget den idiotiske
beslutning at undlade det.
scootergrisen
2013-06-11 20:10:53 UTC
Permalink
Måske kan de browserspecifikke variable anbringes sammen i toppen af den
funktion, der kun skal kaldes hvis browseren forstår de operationer.
Nu er det ikke browserspecifikke variabler jeg har hvis der overhovedet
er noget der hedder det men ja kunne godt være i en funktion men jeg har
noget kode hvor jeg ikke har en funktion.

Her skal context variablen kun bruges hvis browseren understøtter
canvas.getContext så før havde jeg det sådan her :



var canvas = document.getEleme

if (canvas.getContext) { // ud

var context = canvas.getCon

// nu er vi klar til at teg

}



Men nu har jeg det sådan her :



var canvas = document.getElee,
context = null;

if (canvas.getContext) { // ud

context = canvas.getCon

// nu er vi klar til at teg

}



Det lidt ligesom og vælge en farve hvis browseren alligevel ikke kan
tegne så er der jo ikke nogen grund til det men kan da godt se det er
godt og have det hele samlet øverst også kun bruge var øverst i scriptet
og øverst i funktioner.
Birger Sørensen
2013-06-11 21:12:23 UTC
Permalink
Måske kan de browserspecifikke variable anbringes sammen i toppen af den
funktion, der kun skal kaldes hvis browseren forstår de operationer.
Nu er det ikke browserspecifikke variabler jeg har hvis der overhovedet er
noget der hedder det men ja kunne godt være i en funktion men jeg har noget
kode hvor jeg ikke har en funktion.
Her skal context variablen kun bruges hvis browseren understøtter
var canvas = document.getEleme
if (canvas.getContext) { // ud
var context = canvas.getCon
// nu er vi klar til at teg
}
var canvas = document.getElee,
context = null;
if (canvas.getContext) { // ud
context = canvas.getCon
// nu er vi klar til at teg
}
Det lidt ligesom og vælge en farve hvis browseren alligevel ikke kan tegne så
er der jo ikke nogen grund til det men kan da godt se det er godt og have det
hele samlet øverst også kun bruge var øverst i scriptet og øverst i
funktioner.
Du bruger formentlig context til et eller andet.
Så læg hele funktionaliteten i en funktion for sig.

var canvas = document.getElee;
if (canvas.getContext) { // ud
DoWithCanvas(canvas);
}

function DoWithCanvas(canvas) {
var context = canvas.getCon;
...
}

Birger
--
http://varmeretter.dk - billig, sund og hurtig mad
Utils http://sdccms.dk/ordbog/ http://sdccms.dk/mailfriend/
http://bredelund.dk CMS som det var meningen et sådant skulle være
scootergrisen
2013-06-11 22:04:25 UTC
Permalink
Post by Birger Sørensen
Du bruger formentlig context til et eller andet.
Formodentligt.
Post by Birger Sørensen
Så læg hele funktionaliteten i en funktion for sig.
var canvas = document.getElee;
if (canvas.getContext) { // ud
DoWithCanvas(canvas);
}
function DoWithCanvas(canvas) {
var context = canvas.getCon;
...
}
Ja det kunne jeg gøre.

Men så hvis jeg skal bruge context variablen i mere end én funktion så
er det ikke så smart.
Birger Sørensen
2013-06-11 22:41:37 UTC
Permalink
Post by scootergrisen
Post by Birger Sørensen
Du bruger formentlig context til et eller andet.
Formodentligt.
Post by Birger Sørensen
Så læg hele funktionaliteten i en funktion for sig.
var canvas = document.getElee;
if (canvas.getContext) { // ud
DoWithCanvas(canvas);
}
function DoWithCanvas(canvas) {
var context = canvas.getCon;
...
}
Ja det kunne jeg gøre.
Men så hvis jeg skal bruge context variablen i mere end én funktion så er det
ikke så smart.
Kommer vel stadig an på præcis hvad.
Også på hvordan du bygger dit script op.

function DoWithCanvas(canvas) {
var context = canvas.getCon();
SelectColor(context);
DrawCircle(context);
HvadDuEllersHarBrugFor(context);
}

En funktion, bør i realiteten ikke gøre mere end een ting.
Det giver den bedste overskuelighed, den nemmeste vedligeholdelse, og
det er meget nemmere at genbruge funktionerne.

Birger
--
http://varmeretter.dk - billig, sund og hurtig mad
Utils http://sdccms.dk/ordbog/ http://sdccms.dk/mailfriend/
http://bredelund.dk CMS som det var meningen et sådant skulle være
scootergrisen
2013-06-11 23:20:38 UTC
Permalink
Post by Birger Sørensen
Kommer vel stadig an på præcis hvad.
Også på hvordan du bygger dit script op.
function DoWithCanvas(canvas) {
var context = canvas.getCon();
SelectColor(context);
DrawCircle(context);
HvadDuEllersHarBrugFor(context);
}
En funktion, bør i realiteten ikke gøre mere end een ting.
Det giver den bedste overskuelighed, den nemmeste vedligeholdelse, og
det er meget nemmere at genbruge funktionerne.
Det kan godt være der er bedre sådan jeg har bare undladt at bruge en
funktion til det i simple eksempler hvor jeg gerne vil have det er så
simpelt så muligt.
Birger Sørensen
2013-06-12 07:23:29 UTC
Permalink
Post by scootergrisen
Post by Birger Sørensen
En funktion, bør i realiteten ikke gøre mere end een ting.
Det giver den bedste overskuelighed, den nemmeste vedligeholdelse, og
det er meget nemmere at genbruge funktionerne.
Det kan godt være der er bedre sådan jeg har bare undladt at bruge en
funktion til det i simple eksempler hvor jeg gerne vil have det er så simpelt
så muligt.
Der er jo ikke nogen facitliste, og ofte kan den samme ting gøres på
forskellige måder.
Så det er lidt svært at rådgive - eller bare have en mening om -
abstrakte situationer.

Men gør som manden siger - brug jslint, og ret de ting den siger.
Det bliver det i hvert fald ikke dårligere af.

Birger
--
http://varmeretter.dk - billig, sund og hurtig mad
Utils http://sdccms.dk/ordbog/ http://sdccms.dk/mailfriend/
http://bredelund.dk CMS som det var meningen et sådant skulle være
Loading...