IE下var聲明的重要性的又一個證據

一個朋友問了一個js問題, 一段看不出有任何問題的代碼, 在ie下報錯:」object doesn’t support this property or method」. javascript

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

開始, 還覺得錯誤是指obj的toString方法, 繞了半天彎路, 無果.. java

後來,注意到變量名是productTree沒有用var申明, 加上getElementById(‘productTree’)說明有個id爲productTree的元素, 而且咱們知道在IE下能夠直接經過id獲取DOM元素的引用, so~ this

因此啊, 局部變量必定要用var申明, 不單單是由於不用var會成全局變量, 更由於在IE下, 有可能會出現這種, 讓人很莫名的錯誤…. code

更多:js教程 教程

相關文章
相關標籤/搜索