額,在FF中時正常的,可是,在 IE8.0 中 經過 try catch (e) alert(e) 卻獲得了此錯誤。javascript
代碼以下java
$("#XTABLE").find("tr").not(":first").each(function(){
self=$(this);
if(self.data("gt")==1)
{
self2=self.find("td:eq(0)");
transstring=self2.text()+";"+getSelectValue_1(self.find("select"),1)+";"+self.find(":input:eq(1)").val()+";"+self.find(":input:eq(2)").val()+";"+self.find(":input:eq(3)").val();
postData+=transstring+"$";
}
});post
紅色區域爲錯誤 發生區,this
其實如今仍是不明白 爲何 會錯誤。、spa
開始 我想定義一個self變量,到是一想到其實本身有self的全局變量,因此,直接使用就行了,因而 就直接使用,而沒有在此做用於之上從新定義self。ip
結果 錯就錯在沒有定義 self上,問題的緣由多是 self 沒有檢測到,javascript 能夠預先不定義 變量,至關於一個全局變量。get
2 可能在前面或是其餘頁面這個 self被某些影響...input
因而 string
var postData="";var self2,transstring,self;
從新定義就oK.io
結果教育:在javascript中儘可能少使用全局變量。畢竟不是靜態語言,要先編譯,因此 javascript 的運行速度不能和編譯型語言比較。
再就是本身的 javascript 代碼的規範上,必須規範,包括變量命名和使用,防止交叉變量。
2012年3月29日18:37:36