19.05.2010 12:53:15

Bugs und Kurioses

JS ist als Programmiersprache eigentlich nicht besonders anders als jede andere auch - ABER JS wird von Browsern interpretiert... und von jedem etwas anders.
Das Hier wird eine kleine Sammlung von JS-Bugs und seltsamen Verhalten.

Allgemein


06.05.2010: einfach ausprobieren und wundern:

Code:ausführenändern var str = "hallo"; str.toString = function(){return "test";}; alert(str); // OK - irgendwie noch nachvollziehbar alert(str.toString()); //das jetzt wiederum nicht alert(str.toString); //und as gar nicht.


19.05.2010: im Safari sind die vom Browser belegten Attribute des Event-Objektes geschützt => man kann sie nicht überschreiben (bleiben auf ihrem unsprünglichen Wert).
Im IE wird dann ein Fehler geworfen.
Genauso im FF

Der IE

Alte IE Versionen (v.a. <= 6) hatten teilweise mit den Standards recht wenig zu tun - das wurde in letzter Zeit besser. Aber auch hier finden sich seltsames Verhalten:

06.05.2010:

Code:ausführenändernalert((window == document) == (document == window)); //false