首頁 >web前端 >js教程 >js隱式全域變數造成的bug範例程式碼_javascript技巧

js隱式全域變數造成的bug範例程式碼_javascript技巧

WBOY
WBOY原創
2016-05-16 16:51:381416瀏覽

一段js程式碼遇到一個bug,由於中間的隱式全域變數造成的,
由於程式碼較多,透過Google瀏覽器的js調試器才找到問題所在,
話說本人的電腦無論如何都裝不上fiefox,從去年開始嘗試了多次,均以失敗告終,
不過谷歌的調試也挺好用的。
簡化程式碼如下:

複製程式碼 程式碼如下:

$(function( {
var pageNo = 2;//這個參數是變化的
var pageSize = 10;
test();
paginate(pageNo,pageSize);//由於test() 方法覆寫pageNo ,導致pageNo總是等於1
});
function test(){
pageNo = 1;//全域變量,覆蓋先前的pageNo ,相當於在js頂部寫var pageNo = 1
//這裡改為var pageNo = 1;就可以了
//do,,,
}
function paginate(pageNo,pageSize){
window.location.href = "user_list.action ?pageNo=" pageNo "&pageSize=" pageSize;
}

在js中建議所有的變數都用var 聲明,並且所有的變數都可以寫到頂部,因為js沒有區塊級作用域。
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn