<script type="text/javascript" src="https://getfirebug.com/firebug-lite.js"></script>
<script>
(function(){
var myLib = function (selector) {
console.log(this);
if(this === window) {
console.log('first if statement executed');
console.log(this);
return new myLib(selector);
}
if(this.window === window){
console.log('second if statement executed');
console.log(this);
return new myLib(selector);
}
};
//expose myLib to the global window object
window.myLib = myLib;
})();
myLib('.someclass')
</script>
在Firefox中,這是被記錄到控制檯:
窗口
第一個if語句執行
對象{}
在JavaScript中this關鍵字問題
在IE8,這是什麼得到登錄到控制檯:
窗口
秒如果執行語句
風流
對象{}
爲什麼當MYLIB調用這不是指向IE窗口,而是this.window點的窗口?
簡短版本:對於'window',IE很奇怪。 – 2011-04-21 21:39:40