2010-06-03 40 views
1

OK,簡單:的jQuery,JavaScript和IE8

self = $(this); 

拋出在IE8 JavaScript錯誤時,它在事件處理中。它適用於所有其他瀏覽器。

var self = $(this); 

引發沒有錯誤。爲什麼?

回答

7

答案是var關鍵字盯着你看。

當你僅僅引用self時,你引用了一個全局變量,IE不會讓你改變它。當你寫var self你正在聲明一個局部變量。

+0

在IE8中,'self'是保留字嗎?還是IE8只比其他所有關於全局JavaScript變量的瀏覽器都更加威懾? – Wells 2010-06-03 22:39:09

+1

這並不是一個保留字,但它是IE窗口對象的屬性,IE不會讓你改變。 – Pointy 2010-06-03 22:40:05