最近調試JS代碼的時候,總是報錯Script error.filename:lineno:0,而且IOS才報錯,安卓并不報錯,連出錯行都沒有,無法定位具體的代碼,很難找到錯誤原因,經過多翻調試,最后對出現(xiàn)這個錯誤提示進行一個匯總。
1、未定義的變量直接用來運算,如:var Lon = '<img src="' + thumb + '">';,此時,如果thumb之前并未定義,那么就會報錯,這種情況常見于一些本以為是全局變量,最后并未定義成全局變量的情況;又或者全局變量是在異步操作中定義的,如果是這種情況,那就很有可能會出現(xiàn)偶爾性的報錯 Script error.filename:lineno:0,偶爾又沒事。
2、if(typeof(thumb)==='undefined'),不建議用這種方法判斷變量是否已經定義,typeof是表達式,并不是函數,建議使用if(typeof thumb=='undefined'),而且,typeof thumb得到的結果是字符串類型的數據,如:boolen,array,object等,實質上是"array","object"。
總結出來一點就是,全局變量使用的時候要注意有效性。
技術支持: