В других ответах указывалось, что self
не будет ссылаться на FORM
и что self
равно window
. Они правы; self
- это window
. Ну, кроме случаев, когда это не так. В IE6 или IE7 (забыл), self.onload
не сработает, хотя window.onload
будет.
Все официальные версии IE (и даже IE9pr3) имеют странную, непереходную реализацию ==
с этими хост-объектами. Используя ==
для сравнения window
или self
с узлом в документе, получается true
.
IE Странности
alert(self == document.body); // true
alert(document.body == self); // false
alert(window == self); // true
alert(window === self); //false
var b = document.createElement("b");
alert(window == b); // false
alert(window == document.body.appendChild(b)); // true
alert(window == document.body.removeChild(b)); // false