/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
Global variables
Fra : Anders M


Dato : 17-01-10 11:20

Hey..

Jeg har en fil: language.js.php som indeholder alle beskeder i js
formart (var m_edit = "edit"...). Mit problem er bare, at alle
javascript funktioner ligger i externe filer, så jeg kan ikke
bruge de variabler i dem. Hvordan løses det?

Mvh ANders

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Birger Sørensen (17-01-2010)
Kommentar
Fra : Birger Sørensen


Dato : 17-01-10 12:29

Anders M tastede følgende:
> Hey..
>
> Jeg har en fil: language.js.php som indeholder alle beskeder i js
> formart (var m_edit = "edit"...). Mit problem er bare, at alle
> javascript funktioner ligger i externe filer, så jeg kan ikke
> bruge de variabler i dem. Hvordan løses det?
>
> Mvh ANders

Hvorfor ikke?
Dine variable, skal overføres til clienten - enten i en separat fil,
eller en script section i html's <head>.?
Derefter burde de vist være kend i js på clienten.

Birger

--
http://varmeretter.dk - billig, sund og hurtig mad
http://bbsorensen.dk



Stig Johansen (17-01-2010)
Kommentar
Fra : Stig Johansen


Dato : 17-01-10 13:58

Birger Sørensen wrote:

> Derefter burde de vist være kendt i js på clienten.

Ja, forudsat rækkefølgen er korrekt.

Det nytter ikke noget at have
....
if (xyz)
....
i den første fil, og derefter
....
var xyz='noget'
....
i den næste fil.

--
Med venlig hilsen
Stig Johansen

Anders M (17-01-2010)
Kommentar
Fra : Anders M


Dato : 17-01-10 17:41

Stig Johansen wrote in dk.edb.internet.webdesign.clientside:
> Birger Sørensen wrote:
>
> > Derefter burde de vist være kendt i js på clienten.
>
> Ja, forudsat rækkefølgen er korrekt.
>
> Det nytter ikke noget at have
> ....
> if (xyz)
> ....
> i den første fil, og derefter
> ....
> var xyz='noget'
> ....
> i den næste fil.
>

Så langt tænkte jeg også, så jeg placerede henvisningen til
scriptet som det første, og så alle de andre ting nedenunder.
Problemet er bare, at jeg for at teste det prøvede at skrive
koden direkte i htmlfilen, og der virker det upåklageligt. Men
hvis man så putter koden i en ekstern fil virker det ikke.

I php skal man jo skrive:

$x = 12;
$y = 15;
function enfunktion()
{
global $x,$y;

echo $x+$y;
}

så jeg prøvede også med at skrive de variabler jeg skulle bruge
øverst i filen: var variable,variable2,...; også uden held.

Mvh ANders

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Bertel Lund Hansen (17-01-2010)
Kommentar
Fra : Bertel Lund Hansen


Dato : 17-01-10 18:16

Anders M skrev:

> I php skal man jo skrive:

> $x = 12;
> $y = 15;
> function enfunktion()
> {
> global $x,$y;
>
> echo $x+$y;
> }

Skal og skal. Der er nogen der slet ikke bruger globale variable.

function enfunktion ($a,$b) {
   echo $a+$b;
}

$x = 12;
$y = 15;
enfunktion ($x,$y);

--
Bertel
http://bertel.lundhansen.dk/         FIDUSO: http://fiduso.dk/

Anders M (17-01-2010)
Kommentar
Fra : Anders M


Dato : 17-01-10 22:25

Bertel Lund Hansen wrote in dk.edb.internet.webdesign.clientside:
> Anders M skrev:
>
> > I php skal man jo skrive:
>
> > $x = 12;
> > $y = 15;
> > function enfunktion()
> > {
> > global $x,$y;
> >
> > echo $x+$y;
> > }
>
> Skal og skal. Der er nogen der slet ikke bruger globale variable.
>
> function enfunktion ($a,$b) {
>    echo $a+$b;
> }
>
> $x = 12;
> $y = 15;
> enfunktion ($x,$y);

Ja, men der er også nogen der går i stedet for at tage bilen, men i
længden bliver det du skriver efter min mening meget langsommeligt.
Hvis du f.eks. arbejder med større systemer og du skal bruge 10.000+
funktioner bliver det lidt besværligt at skulle indkludere alt det
alle steder hvor man kalder funktionen. Men det er selvfølgelig en
mulighed..

Men tilbage til mit spørgsmål, er der så noget ala. global i
javascript?

Mvh Anders.

Ps. vil gerne oprette en html fil med problemet hvis det kan
hjælpe..

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Stig Johansen (17-01-2010)
Kommentar
Fra : Stig Johansen


Dato : 17-01-10 23:06

Anders M wrote:

> Men tilbage til mit spørgsmål, er der så noget ala. global i
> javascript?

Ja, det der er defineret uden for function er globalt - ligesom i andre
sprog.

> Ps. vil gerne oprette en html fil med problemet hvis det kan
> hjælpe..

Det bliver du nødt til, for vi andre har tilsyneladende ikke et problem.

--
Med venlig hilsen
Stig Johansen

Anders M (19-01-2010)
Kommentar
Fra : Anders M


Dato : 19-01-10 22:25

Stig Johansen wrote in dk.edb.internet.webdesign.clientside:
> Anders M wrote:
>
> > Men tilbage til mit spørgsmål, er der så noget ala. global i
> > javascript?
>
> Ja, det der er defineret uden for function er globalt - ligesom i andre
> sprog.
>
> > Ps. vil gerne oprette en html fil med problemet hvis det kan
> > hjælpe..
>
> Det bliver du nødt til, for vi andre har tilsyneladende ikke et problem.

Jeg har nu fået problemet løst uden helt at vide hvordan, men ellers mange
tak for hjælpen.

Mvh Anders

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Bertel Lund Hansen (17-01-2010)
Kommentar
Fra : Bertel Lund Hansen


Dato : 17-01-10 20:29

Anders M skrev:

> > Skal og skal. Der er nogen der slet ikke bruger globale variable.

> > function enfunktion ($a,$b) {
> >    echo $a+$b;
> > }
> >
> > $x = 12;
> > $y = 15;
> > enfunktion ($x,$y);

> Ja, men der er også nogen der går i stedet for at tage bilen, men i
> længden bliver det du skriver efter min mening meget langsommeligt.

Hvorfor tror du det går langsommere at overføre som parametre end
at overføre via GLOBAL?

Tænk også. på at hvis du har beskrevet dit problem korrekt, så
skyldes det netop at du bruger globale variable.

--
Bertel
http://bertel.lundhansen.dk/         FIDUSO: http://fiduso.dk/

Lasse Reichstein Nie~ (19-01-2010)
Kommentar
Fra : Lasse Reichstein Nie~


Dato : 19-01-10 22:31

Anders M <adsdsa@asddsa.com> writes:

> Så langt tænkte jeg også, så jeg placerede henvisningen til
> scriptet som det første, og så alle de andre ting nedenunder.
> Problemet er bare, at jeg for at teste det prøvede at skrive
> koden direkte i htmlfilen, og der virker det upåklageligt. Men
> hvis man så putter koden i en ekstern fil virker det ikke.

Det er sådan det gøres, så hvis det ikke virker, så har du gjort noget
galt. Desværre er "virker ikke" ikke nogen særlig god fejlbeskrivelse,
så det er svært at sige hvad :).

> I php skal man jo skrive:
>
> $x = 12;
> $y = 15;
> function enfunktion()
> {
> global $x,$y;
>
> echo $x+$y;
> }

Det gør man ikke i Javascript. Globale variable er i scope fra alle
funktioner (undtagen hvis en lokal variabel med samme navn skygger
for den).

> så jeg prøvede også med at skrive de variabler jeg skulle bruge
> øverst i filen: var variable,variable2,...; også uden held.

Det gør ikke nogen forskel at deklarare dem igen. Heldigvis gør det
heller ikke nogen skade.


Personligt prøver jeg at undgå globale variable hvis jeg kan. De
roder rundt i det globale objekt, og de er langsommere at tilgå end
lokale variable i de fleste nyere (hurtigere) browsere - hvilket
selvfølgelig kun er relevant for performance-sensitiv kode.

/L
--
Lasse Reichstein Holst Nielsen
DHTML Death Colors: <URL:http://www.infimum.dk/HTML/rasterTriangleDOM.html>
'Faith without judgement merely degrades the spirit divine.'

Lasse Reichstein Nie~ (19-01-2010)
Kommentar
Fra : Lasse Reichstein Nie~


Dato : 19-01-10 22:34

Anders M <asd@sda.com> writes:

> Men tilbage til mit spørgsmål, er der så noget ala. global i
> javascript?

Nej. (Hvis jeg forstår din beskrivelse af hvad den gør i PHP korrekt).

> Ps. vil gerne oprette en html fil med problemet hvis det kan
> hjælpe..

Det er en god ide. Hvis du kan lægge en side der ikke virker ud på
nettet et sted, så er det *meget* nemmere at finde ud af hvad
problemet er.

/L
--
Lasse Reichstein Holst Nielsen
DHTML Death Colors: <URL:http://www.infimum.dk/HTML/rasterTriangleDOM.html>
'Faith without judgement merely degrades the spirit divine.'

Anders M (20-01-2010)
Kommentar
Fra : Anders M


Dato : 20-01-10 19:55

Lasse Reichstein Nielsen wrote in dk.edb.internet.webdesign.clientside:
> Anders M <asd@sda.com> writes:
>
> > Men tilbage til mit spørgsmål, er der så noget ala. global i
> > javascript?
>
> Nej. (Hvis jeg forstår din beskrivelse af hvad den gør i PHP korrekt).
>
> > Ps. vil gerne oprette en html fil med problemet hvis det kan
> > hjælpe..
>
> Det er en god ide. Hvis du kan lægge en side der ikke virker ud på
> nettet et sted, så er det *meget* nemmere at finde ud af hvad
> problemet er.

Jeps, men problemet var i dette tilfælde mig, så det virker nu..

Mvh Anders

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Søg
Reklame
Statistik
Spørgsmål : 177577
Tips : 31968
Nyheder : 719565
Indlæg : 6409071
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste