IE下var的重要性的又一佐证

风雪之隅 发布于2010-01-21 12:43 | 149次阅读 | 字体: 打印预览


作者: laruence(http://www.laruence.com) 本文地址: http://www.laruence.com/2010/01/21/1254.html 转载请注明出处

一个朋友问了一个js问题, 一段看不出有任何问题的代码, 在ie下报错:”object doesn’t support this property or method”.

function foo(obj) { productTree = obj.toString(); document.getElementById(productTree).innerHTML = productTree; }

开始, 还以为错误是指obj的toString方法, 绕了半天弯路, 无果..

后来,注意到变量名是productTree没有用var申明, 加上getElementById(‘productTree’)说明有个id为productTree的元素, 并且我们知道在IE下可以直接通过id获取DOM元素的引用, so~

所以啊, 局部变量一定要用var申明, 不仅仅是因为不用var会成全局变量, 更因为在IE下, 有可能会出现这种, 让人很莫名的错误….

Comments2010/01/21, rzhome writes: 在IE下就是这样的痛苦,不过加var来声明变量应该规范点。2010/01/21, yangliang writes: 难道window下的所有变量ie都认为是dom咯,该死的ie2010/01/22, janpoem writes: 这是ie的老问题了,应该规范使用var声明变量。Copyright

本文出处 : http://www.laruence.com/2010/01/21/1254.html end

上一篇:白云洞+鼓岭

下一篇:Nginx/PHP Fastcgi PATH_INFO的一个问题