/ 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
Mellemrum i strings
Fra : :o\)


Dato : 11-02-03 00:12

Hej NG

Jeg kan ikke få mellemrum i mine strenge, uden at systemet brokker sig...
Det er med javascript.

Eksempel der virker:
var b = new Array("En_Hest", "En_ko");

Eksempel på hvad jeg ønsker:
var b = new Array("En Hest", "En ko");

Når jeg laver det, som i eksemplet på hvad jeg ønsker, så kommer den og
siger "Error: Expected ';'"

Findes der en magic-tegn man skal skrive for at det ser ud som et mellemrum,
når det vises? Eller er der andet jeg kan gøre?
(Det vises i en FORM; i en SELECT ud for OPTION)

/ Ole



 
 
Lasse Reichstein Nie~ (11-02-2003)
Kommentar
Fra : Lasse Reichstein Nie~


Dato : 11-02-03 00:28

":o\)" <p_ole@mobilixnet.nospam.dk> writes:

> Jeg kan ikke få mellemrum i mine strenge, uden at systemet brokker sig...
> Det er med javascript.
>
> Eksempel der virker:
> var b = new Array("En_Hest", "En_ko");
>
> Eksempel på hvad jeg ønsker:
> var b = new Array("En Hest", "En ko");
>
> Når jeg laver det, som i eksemplet på hvad jeg ønsker, så kommer den og
> siger "Error: Expected ';'"

Meget besynderligt. Det du har skrevet er helt korrekt Javascript.

Har du en side vi kan se, for det må være noget i omgivelserne der går
galt. Har du fx ovenstående pakket ind i samme anførselstegn ("-er,
ikke '-er)?

/L
--
Lasse Reichstein Nielsen - lrn@brics.dk
Ph.D. i datalogi søger stilling som software-udvikler i Øst- eller
Nordjylland. Curriculum Vitae: <URL:http://www.brics.dk/~lrn/cv.html>

:o\) (11-02-2003)
Kommentar
Fra : :o\)


Dato : 11-02-03 00:55

> Meget besynderligt. Det du har skrevet er helt korrekt Javascript.
Jeg skal lige fortælle lidt mere, for at problemet står frem.

Eksempel der virker:
var En_Zebra = new Array("En_Hest", "En_ko");
var En_Hest = new Array("En_ko");
var En_ko = new Array("En_Hest");

Eksempel på hvad jeg ønsker:
var En Zebra = new Array("En Hest", "En ko");
var En Hest = new Array("En ko");
var En ko = new Array("En Hest");

Nu skulle det være tydeligt, hvor problemet ligger. Men hvordan løser jeg
det?
Det er stings'ene, der også skal være objekt-navne (tror jeg det hedder i
javascript)

/ Ole



Lasse Reichstein Nie~ (11-02-2003)
Kommentar
Fra : Lasse Reichstein Nie~


Dato : 11-02-03 01:16

":o\)" <p_ole@mobilixnet.nospam.dk> writes:

> Eksempel på hvad jeg ønsker:

> var En Zebra = new Array("En Hest", "En ko");

Det kan man ikke. "En Zebra" er ikke en variabel, det er to. Der skal
være underscore imellem, eller noget lignende.

Hvis det er fordi du vil gemme værdier under et navn som står i en
streng, i.e., noget i stil med:

var En Hest = 42;
var foo = "En Hest";
var bar = eval(foo);

så prøv noget andet, fx:

var mineVariable = [];
mineVariable["En Hest"]=42;
var foo = "En Hest";
var bar = mineVariable[foo];

/L
--
Lasse Reichstein Nielsen - lrn@brics.dk
Ph.D. i datalogi søger stilling som software-udvikler i Øst- eller
Nordjylland. Curriculum Vitae: <URL:http://www.brics.dk/~lrn/cv.html>

Jonas Koch Bentzen (11-02-2003)
Kommentar
Fra : Jonas Koch Bentzen


Dato : 11-02-03 21:59

Lasse Reichstein Nielsen wrote:
>
> var mineVariable = [];
> mineVariable["En Hest"]=42;
> var foo = "En Hest";
> var bar = mineVariable[foo];

Jeg vidste overhovedet ikke, JavaScript understøttede associative arrays
(eller dictionaries eller hvad man nu kalder dem). Er det en del af
ECMAScript-standarden? Og findes der en måde at køre igennem dem i en løkke
(ligesom foreach-løkken i PHP kan køre gennem et associativt array)?

Lasse Reichstein Nie~ (12-02-2003)
Kommentar
Fra : Lasse Reichstein Nie~


Dato : 12-02-03 01:45

Jonas Koch Bentzen <ingen.email@eksempel.dk> writes:

> Jeg vidste overhovedet ikke, JavaScript understøttede associative arrays
> (eller dictionaries eller hvad man nu kalder dem). Er det en del af
> ECMAScript-standarden?

Ja. Faktisk behøver det ikke være et array, det er en generel egenskab
ved objekter (arrays er også bare objekter).
Det er det samme at skrive
x.foo
og
x["foo"]
så det jeg skrev ovenfor var blot tilføjelsen af en attribut til
array-objektet. (Man kan kun bruge tal som indices med den anden
notation, altså x[0], men ikke x.0).

> Og findes der en måde at køre igennem dem i en løkke
> (ligesom foreach-løkken i PHP kan køre gennem et associativt array)?

Man kan bruge for-kommandoen:

for (var i in x) {
... x[i] ...
}

HUSK (fordi jeg glemmer det altid) at det er indices der bliver
gennemløbet, ikke indhold, så man skal huske at skrive x[i] for
at få værdien.

Det er ikke alle attributter ved et objekt der bliver enumereret
på den måde, men dem man selv har tilføjet gør. Hvis man starter
med et tomt objekt eller et tomt array, så skulle der ikke være
nogen attributter i fra start. Hvis man bruger DOM-objektet "window",
så er der mange i forvejen.

Det er kun når man indekserer med tal at array'ets length-attribut
bliver opdateret:
var x=[];
x["foo"]=4; // x.length==0
x[4]=4; // x.length==5

(Jeg har en javascript sandkasse at lege i på
<URL:http://www.infimum.dk/HTML/jstest2.html>
(kræver dog en DHTML-browser der forstår Core DOM)
Hvis du kigger på den, så prøv at skrive
var x=[1];x["foo"]="bar";var y="";for(var i in x)y+=i+" ";y
i den øverste input-linje og tryk Evaluate. Så skulle der gerne stå
"0 foo " i output.
Prøv også at skrive "window" (uden anførselstegn) og tryk Examine, så
kan du se hvad der er af synlige attributter i window-elementet. Det
er sjovt at se hvordan det varierer mellem browsere hvilke attributter
der bliver enumereret).

/L
--
Lasse Reichstein Nielsen - lrn@brics.dk
Ph.D. i datalogi søger stilling som software-udvikler i Øst- eller
Nordjylland. Curriculum Vitae: <URL:http://www.brics.dk/~lrn/cv.html>

Jonas Koch Bentzen (12-02-2003)
Kommentar
Fra : Jonas Koch Bentzen


Dato : 12-02-03 09:58

Lasse Reichstein Nielsen wrote:
>
> Hvis man bruger DOM-objektet "window"

window er da ikke en del af W3C's DOM, er den?

> Prøv også at skrive "window" (uden anførselstegn) og tryk Examine, så
> kan du se hvad der er af synlige attributter i window-elementet.

I Mozilla 1.2.1:

XXX:Permission denied to get property Window.fullScreen

--
Jonas Koch Bentzen

Lasse Reichstein Nie~ (12-02-2003)
Kommentar
Fra : Lasse Reichstein Nie~


Dato : 12-02-03 10:43

Jonas Koch Bentzen <ingen.email@eksempel.dk> writes:

> window er da ikke en del af W3C's DOM, er den?

Nej, ups. Læs det som "et DOM objekt eller objektet 'window'".
(Hvis du trykker på "Examine DOM" siger den også at det ikke er
et DOM-objekt :)

> I Mozilla 1.2.1:
>
> XXX:Permission denied to get property Window.fullScreen

Hov.
1) Skriver min fejlbesked stadig de tre X'er først? Doh. :)
2) Ups, permissions. Jeg plejer at køre den lokalt. Jeg tror snart der
ryger en ekstra try-catch ind et eller andet sted. Prøv på document.body
i stedet.

Jaja, scriptet er stadigt ungt, det skal nok lære det med tiden. Takker
for fejlrapporten.
/L
--
Lasse Reichstein Nielsen - lrn@brics.dk
Ph.D. i datalogi søger stilling som software-udvikler i Øst- eller
Nordjylland. Curriculum Vitae: <URL:http://www.brics.dk/~lrn/cv.html>

Jonas Koch Bentzen (12-02-2003)
Kommentar
Fra : Jonas Koch Bentzen


Dato : 12-02-03 12:07

Lasse Reichstein Nielsen wrote:
>
> 1) Skriver min fejlbesked stadig de tre X'er først?

Jeps :)

> Prøv på document.body i stedet.

Virker fint.

--
Jonas Koch Bentzen

Jens Gyldenkærne Cla~ (12-02-2003)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 12-02-03 12:26

Jonas Koch Bentzen skrev:

> I Mozilla 1.2.1:
>
> XXX:Permission denied to get property Window.fullScreen

Det virker fint i Mozilla 1.3B ((boolean) false).
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408847
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste