Hallo Kai,
wie schön ;-)
Wenn Du Dir das Statement mal genau ansiehst, müsstest Du die Frage eigentlich selbst beantworten können:
Die {} kann man weglassen, wenn der ausführende Teil nur aus einem Statement besteht.
Wenn Du also
if (Bedingung) in der Konsole eingibst, ist das Statement unvollstandig!
Gebe deshalb nur die Bedingung ein:
(tempResizediff==null)
Nein!
undefined bedeutet
niemals für einen Gültigkeitsbereich deklariert
null -> deklariert, aber nichts oder null zugewiesen.
Wenn einem Parameter im Funktionsaufruf
nichts zugewiesen wird, enthält er null.
Wenn Du aber beispielsweise Deinen Parameter
in der Funktion falsch schreibst, ist er undefined!
Ein nicht zugwiesener Parameter entspricht in etwa dieser Deklaration
var test;
Allerdings
kann ein Vergleich (null==undefined) durchaus positiv sein, das liegt an der internen Typumwandlung bei Javascript.
Das kannst Du leicht überprüfen, in dem Du genauer vergleichst:
(null==undefined) -> true
(null===undefined) -> false
(null===null) true
Alles klar?
Erschlage bitte nicht den Boten der Botschaft ;-)
Weil sich der Interpreter auf die Suche nach dem kompletten Kommando macht und deshalb über das Dateiende hinaus lesen will.
Ein return ohne Wert zurückzugeben kann man weglassen, ich mache das aber in der Regel nicht.
Zurück kommt, was Du zurück gibst:
return Das gebe ich zurück;
Prüfung in der Konsole während des Debugging:
MeineFunktion()
So, ich hoffe,
das war jetzt nicht zu schwierig und einigermaßen klar beantwortet.
Eine Anmerkung noch:
Du schriebst mal, das du das Buch von Grant Gamble hast, hast Du es auch gelesen?
Kapitel 11 (in meiner Ausgabe) - Error handling and debugging
ist echt Klasse und allein schon den Anschaffungspreis wert.