| | | | |
| |||||||
| JavaScript, Ajax und mehr dynamisches Scripten und Interaktion auf Clientebene |
|
| | LinkBack | Themen-Optionen | Thema bewerten |
| | |
| PHP Code Flüsterer Registriert seit: 21.08.2005 Beiträge: 4682 PHP-Kenntnisse: Fortgeschritten | |
| | |
| Erfahrener Benutzer Registriert seit: 28.07.2010
Beiträge: 2.308
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() ![]() ![]() | Das hat nichts mit Browsern zu tun, sondern sind zwei unterschiedliche Dinge. Mit var: nur im aktuellen Scope gültig. Ohne var: global. Du solltest also var aus dem Grund nicht weglassen weil es unsaubere Programmierung ist, die zu Kompatibilitätsproblemen führen kann. Edit: @Chriz das ist natürlich ein noch überzeugenderes Argument Und noch ein Beispiel zum Verständnis von globals in javascript: Code: function f()
{
foo = 1;
}
f();
alert(window.foo); // 1
Geändert von fab (13.07.2011 um 13:12 Uhr). |
| | |
| | |
| Neuer Benutzer Registriert seit: 13.07.2011
Beiträge: 1
PHP-Kenntnisse: Fortgeschritten ![]() | Was wir auch schon beim Internet Explorer hatten, dass wenn eine Variable, die nicht in einem Funktions-Scope steht, generell auch ein var vor sich stehen haben sollte bei der ersten Definition. Ist dem nicht so, murrt der Internet Explorer sporadisch. Soweit ich weiß, gibt es keinen Nachteil, wenn man einer Variable außerhalb eines Funktionsrumpfes trotzdem ein "var" vorstellt. |
| | |
| | |
| Supermoderator HD Registriert seit: 16.03.2008
Beiträge: 8.706
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() | Außerhalb jeglicher Funktionen heißt: im window-Scope, also global (privater Member von window). Ich kann auch nur empfehlen, var zu verwenden. Es ist nicht nur unsauber, es wegulassen, es kann dich mitunter auch Stunden des Debuggens kosten, besonders wenn du mit Closures arbeitest. Ich weiß noch, wie ich ewig nach dem Fehler gesucht habe, weil meine Variable fehlerhafte Objektreferenzen enthielt. Es stellte sich dann irgendwann nach langer Suche heraus, dass ich lediglich das var vergessen hatte und ich somit mit einem globalen Objekt arbeitete, das natürlich in allen Kontexten verfügbar war.
__________________ Refining Linux Advent Calendar series “24 Outstanding ZSH Gems” |
| | |
| | |||
| moderatives Dielektrikum Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() | Zitat:
Zitat:
*Bookmark*
__________________ -- One pixel is still too big. Please make it smaller. ASAP. Initiative Mittelstand. Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers. -- | ||
| | |
| | ||
| Moderator¹ Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() ![]() ![]() ![]() ![]() | Zitat:
Es muss am Anfang des Scriptes stehen, sonst kann es ja keine sinnvolle Wirkung entfallen. An der Stelle aber etwas zu notieren, was ältere Browser (bzw. auch noch aktuelle) als fehlerhaft ansehen würden, wäre fatal - sofortiger Scriptabbruch, und damit von der Funktionalität des Scriptes gar nichts mehr übrig. "use strict"; - das ist ein simpler Ausdruck, an dem auch JS-Parser der ersten Generation(en) nichts zu meckern haben. Allerdings ist es auch nur ein Ausdruck, ein simples Textliteral - und sollte als solches eigentlich keinen Einfluss auf die Abarbeitung haben. Aber hey, es ist ein Kompromiss. Alternative wäre vielleicht ein Kommentar gewesen - aber da hast du das gleiche Problem, eine solche Bedeutung sollte der eigentlich nicht transportieren. Außerdem hat der Kommentar das Problem, dass er häufig von JS-Minifiern weggeputzt werden wird. Diese „Schwäche“ hat der Ausdruck nicht.
__________________ RGB is totally confusing - I mean, at least #C0FFEE should be brown, right? | |
| | |
| | |
| Erfahrener Benutzer Registriert seit: 11.04.2011
Beiträge: 260
PHP-Kenntnisse: Fortgeschritten ![]() | Über "use strict"; wurde viel diskutiert und man kam zu dem Schluss, dass die kompatibelste Lösung ist. Viel mehr zum Strict mode gibt es hier: https://developer.mozilla.org/en/JavaScript/Strict_mode |
| | |
| | ||
| Erfahrener Benutzer Registriert seit: 28.05.2008
Beiträge: 2.094
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() ![]() ![]() | Generell zu empfehlen: http://jshint.com/ Zitat:
Ohne Strict mode: http://jsfiddle.net/rudygotya/uWy5V/2/ Mit strict mode: http://jsfiddle.net/rudygotya/uWy5V/3/ von window zu undefined .. | |
| | |
|
| Themen-Optionen | |
| Thema bewerten | |
|
|
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Datum wenn Heute dann Heute um 12:30 | Pippo | PHP Einsteiger | 15 | 18.05.2011 12:04 |
| [Erledigt] Ablaudatum 1 Tag nach Heute | Matze84 | PHP Tipps 2010 | 18 | 26.05.2010 13:48 |
| Heute / gestern statt Datum | phpstart | PHP Tipps 2009 | 18 | 17.09.2009 18:16 |
| Heute in einem Monat | MerlinderZauberer | Off-Topic Diskussionen | 9 | 21.12.2007 16:06 |
| Was darf man eigentlich heute alles benutzen? | GSJLink | Off-Topic Diskussionen | 15 | 05.07.2007 11:24 |
| News, heute, gestern oder vorgestern gschrieben? | PHP Tipps 2005-2 | 3 | 18.07.2005 16:34 | |
| timestamp heute | PHP Tipps 2005 | 10 | 18.05.2005 16:01 | |
| Besucher kamen über folgende Suchanfragen bei Google auf diese Seite |
| javascript var weglassen, javascript var notwendig, javascript var nötig, javascript use strict, deklarationen php, java script use strict bedeutung, var javascript notwendig, deklaration in php nötig, javascript uncaught referenceerror variable not defined, use strict uncaught reference, javascript this weglassen, sehr viele deklarationen php, javascript ist var nötig, javascript var deklaration notwendig, javascript \var\ verwenden? notwendig?, uncaught referenceerror: ajax is not defined, var nötig in php, var notwendig, javascript cdata notwendig, var javascript nötig |