最高半折刷qq各种业务和钻(家里人自己开的,尽管放心,大家多捧捧场)

sking7

导航

IE下var丢失造成的错误

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

   1. function foo(obj) {
   2.    productTree = obj.toString();
   3.    document.getElementById('productTree').innerHTML = productTree;
   4. }

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

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

productTree = obj.toString();id为productTree的元素改变,再获取这个元素就不存在了。。。

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

posted on 2011-10-20 10:50  G.N&K  阅读(296)  评论(0编辑  收藏  举报