JavaScript var funktioniert nicht
Florian
- javascript
Hallo, ich kenne mich mit JavaScript nicht so gut aus, habe aber folgendes Problem:
Ich habe versucht ein Script übersichtlicher zu machen indem ich 2 verwendete Teile im Script, die ich häufiger Editieren muss, als Variable (var) an den Anfang zu setzen.
Ich habe also folgendes am Anfang:
<script type="text/javascript">
var videoDATUM = 2016,1,14,03,0,0;
var videoURL = "[URL]";
[...]
und später dann
expire: function(idxs){
window.location=videoURL;
},
und am Ende
window.onload=function(){
var cdown = new CDown();
cdown.add(new Date(videoDATUM), "NewVideo");
};
Dennoch ist es nicht das selbe wie
expire: function(idxs){
window.location="[URL]";
},
und am Ende
window.onload=function(){
var cdown = new CDown();
cdown.add(new Date(2016,1,14,03,0,0), "NewVideo");
};
@@Florian
var videoDATUM = 2016,1,14,03,0,0;
Schau mal in die Konsole deines Browsers (ein Tab in den Entwicklertools), ob da vielleicht ein Fehler gemeldet wird.
LLAP 🖖
Hi Gunnar,
var videoDATUM = 2016,1,14,03,0,0;
Schau mal in die Konsole deines Browsers (ein Tab in den Entwicklertools), ob da vielleicht ein Fehler gemeldet wird.
wird nicht. Warum auch?
Diese Deklaration ist syntaktisch völlig okay, auch wenn der Komma-Operator hier eher wenig Sinn ergibt.
EDIT: Ich nehme alles zurück und behaupte das Gegenteil. :-(
So long,
Martin
@@Der Martin
Schau mal in die Konsole deines Browsers (ein Tab in den Entwicklertools), ob da vielleicht ein Fehler gemeldet wird.
wird nicht. Warum auch?
Hehe, ich sagte „schau mal“, nicht „rate mal“. ;-)
LLAP 🖖
Hallo,
Schau mal in die Konsole deines Browsers (ein Tab in den Entwicklertools), ob da vielleicht ein Fehler gemeldet wird.
wird nicht. Warum auch?
Hehe, ich sagte „schau mal“, nicht „rate mal“. ;-)
Ja, aber du hast ja den Theo angesprochen, nicht uns Cracks, die das Debugging im Kleinhirn vornehmen...
Gruß
Kalk
Grundlage für Zitat #2083.
Aloha ;)
Schau mal in die Konsole deines Browsers (ein Tab in den Entwicklertools), ob da vielleicht ein Fehler gemeldet wird.
wird nicht. Warum auch?
Hehe, ich sagte „schau mal“, nicht „rate mal“. ;-)
Ja, aber du hast ja den Theo angesprochen, nicht uns Cracks, die das Debugging im Kleinhirn vornehmen...
Naja, ich weiß ja nicht wie das bei dir ist, aber mein Kleinhirn praktiziert gelegentlich sogar lazy evaluation...
Grüße,
RIDER
Hallo,
Naja, ich weiß ja nicht wie das bei dir ist, aber mein Kleinhirn praktiziert gelegentlich sogar lazy evaluation...
jo, meins fängt sogar an, sich auf den lazy-Teil zu beschränken...
Gruß
Kalk
Hi,
Naja, ich weiß ja nicht wie das bei dir ist, aber mein Kleinhirn praktiziert gelegentlich sogar lazy evaluation...
jo, meins fängt sogar an, sich auf den lazy-Teil zu beschränken...
kommt mir bekannt vor. Aber lieber eine gesunde Faulheit, als eine faule Gesundheit.
So long,
Martin
Hi,
Naja, ich weiß ja nicht wie das bei dir ist, aber mein Kleinhirn praktiziert gelegentlich sogar lazy evaluation...
nennt man das so, wenn das Großhirn sagt: "Du solltest endlich deine Studienarbeit fertig schreiben", und das Kleinhirn antwortet: "Keine Lust, Abgabetermin ist erst am Freitag, da reicht's auch noch, wenn ich am Mittwoch anfange"?
*scnr*
Martin
Hallo,
nennt man das so, wenn das Großhirn sagt: "Du solltest endlich deine Studienarbeit fertig schreiben", und das Kleinhirn antwortet: "Keine Lust, Abgabetermin ist erst am Freitag, da reicht's auch noch, wenn ich am Mittwoch anfange"?
Wie jetzt? Und was ist mit Donnerstag?
Gruß
Kalk
Hi,
nennt man das so, wenn das Großhirn sagt: "Du solltest endlich deine Studienarbeit fertig schreiben", und das Kleinhirn antwortet: "Keine Lust, Abgabetermin ist erst am Freitag, da reicht's auch noch, wenn ich am Mittwoch anfange"?
Wie jetzt? Und was ist mit Donnerstag?
am Donnerstag ist Party, ich weiß blo0 noch nicht, wo. Bist du nicht eingeladen? ;-)
Bis Donnerstag,
Martin
Moin,
Hallo, ich kenne mich mit JavaScript nicht so gut aus
das ist offensichtlich. Aber nicht schlimm. ;-)
Ich habe versucht ein Script übersichtlicher zu machen indem ich 2 verwendete Teile im Script, die ich häufiger Editieren muss, als Variable (var) an den Anfang zu setzen.
Der Gedanke ist an sich gut. Aber das funktioniert natürlich nur, wenn das, was du ersetzen willst, auch ein gültiger Ausdruck ist, dessen Wert in einer Variablen gespeichert werden kann. Also ein Zahlenwert, ein String, eventuell auch ein Objekt oder ein Array.
var videoDATUM = 2016,1,14,03,0,0; var videoURL = "[URL]"; [...]
Die zweite Deklaration ist in Ordnung: Das ist ein String, der in einer Variablen abgelegt wird. Das funktioniert so, wie du es erwartest.
Die erste Zuweisung ist aber Murks. Du hast da rechts von der Zuweisung nicht einen Wert stehen, sondern sechs durch Komma getrennte. Gemein ist an dieser Stelle, dass die Syntax von Javascript das sogar erlaubt: Alle durch Komma getrennten Ausdrücke werden "berechnet", und der letzte davon gilt dann. Im Endeffekt ist das also dasselbe als stünde da
var videoDATUM = 0;
Wenn du also dasselbe Datum an mehreren Stellen wieder einsetzen willst, dann solltest du stattdessen das gesamte vorausberechnete Date-Objekt speichern:
var videoDATUM = new Date(2016,1,14,03,0,0);
So wird das Date-Objekt einmal erstellt und steht dann "fertig" zur Verfügung.
und später dann
window.onload=function(){ var cdown = new CDown(); cdown.add(videoDATUM, "NewVideo"); };
So könnte ein Schuh draus werden.
So long,
Martin
Hallo,
So könnte ein Schuh draus werden.
Das sollte Florian also nur dann so machen, wenn er eine Seite für einen Schuhmacher erstellt ;)
scnr
Gruß
Kalk
Hallo Martin
var videoDATUM = 2016,1,14,03,0,0;
[…] Gemein ist an dieser Stelle, dass die Syntax von Javascript das sogar erlaubt.
Bist du sicher? ;-)
Innerhalb eines Variable Statements können durch Komma getrennt mehrere Variable Declarations aufgelistet werden, bei denen wiederum die Wertzuweisung optional ist, der Identifier jedoch nicht.
Beispielsweise var x = 1, y, z;
ist erlaubt, während bei dem zitierten Code von oben nach dem ersten Komma ein Syntaxfehler geworfen wird, da 1
kein legaler Bezeichner ist:
SyntaxError: missing variable name
Gruß,
Orlok
Hallo,
var videoDATUM = 2016,1,14,03,0,0;
[…] Gemein ist an dieser Stelle, dass die Syntax von Javascript das sogar erlaubt.
Bist du sicher? ;-)
bis gerade eben ja ...
Innerhalb eines Variable Statements können durch Komma getrennt mehrere Variable Declarations aufgelistet werden, bei denen wiederum die Wertzuweisung optional ist, der Identifier jedoch nicht.
Ah, stimmt. Ein etwas anderer Kontext. Damit ist meine Antwort an Gunnar natürlich auch Käse.
Beispielsweise
var x = 1, y, z;
ist erlaubt, während bei dem zitierten Code von oben nach dem ersten Komma ein Syntaxfehler geworfen wird, da1
kein legaler Bezeichner ist
Ja, ich seh's ein.
Ciao,
Martin
Hallo,
Ja, ich seh's ein.
Aber ansonsten war schon viel Richtiges an deiner Antwort!
Gruß
Kalk
erscheint mir sinnvoll, wusste ich allerdings noch nicht. Da hätte ich ja noch Jahre dran rumbasteln können.... habe jetzt
var videoDATUM = new Date(2016,1,14,03,0,0);
und
window.onload=function(){
var cdown = new CDown();
cdown.add(videoDATUM, "NewVideo");
};
und es scheint alles zu funktionieren.