msgbartop
PHP语言, PHP扩展, Zend引擎相关的研究,技术,新闻分享 – 左手代码 右手诗
msgbarbottom

21 Jan 10 IE下var的重要性的又一佐证

一个朋友问了一个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下, 有可能会出现这种, 让人很莫名的错误….


分享到:



Related Posts:

Tags: , ,

8 Responses to “IE下var的重要性的又一佐证”

  1. linuxpluto |

    你这不是佐证,是误导别人
    IE下标签的ID可以直接作为变量使用。和加不加var无关。明白?

  2. 小民哥 |

    我遇到过一模一样的问题 不知道原因 加上var可以了

  3. kgh |

    JavaScript 是一门灵活的语言,但往往越是灵活就越是容易出错!有些东西还是强制规范好些的!

  4. IE下var的重要性的又一佐证 | 万维网黑客联盟 |

    [...] 本文地址: http://www.laruence.com/2010/01/21/1254.html [...]

  5. mark35 |

    据统计各种语言代码中中出现fuc..k词语频率是JS最高。因为IE系列的存在。呵呵。

  6. janpoem |

    这是ie的老问题了,应该规范使用var声明变量。

  7. yangliang |

    难道window下的所有变量ie都认为是dom咯,该死的ie

  8. rzhome |

    在IE下就是这样的痛苦,不过加var来声明变量应该规范点。

Leave a Reply

*