2010-06-03 45 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