js隱式全局變量造成的bug示例代碼
更新時(shí)間:2014年04月22日 15:39:53 作者:
一段js代碼遇到一個(gè)bug,由于中間的隱式全局變量造成的,通過谷歌瀏覽器的js調(diào)試器才找到問題所在,下面將代碼與大家分享下
一段js代碼遇到一個(gè)bug,由于中間的隱式全局變量造成的,
由于代碼較多,通過谷歌瀏覽器的js調(diào)試器才找到問題所在,
話說本人的電腦無論如何都裝不上fiefox,從去年開始嘗試了多次,均以失敗告終,
不過谷歌的調(diào)試也挺好用的。
簡化代碼如下:
$(function(){
var pageNo = 2;//這個(gè)參數(shù)是變化的
var pageSize = 10;
test();
paginate(pageNo,pageSize);//由于 test() 方法覆蓋pageNo,導(dǎo)致pageNo始終等于1
});
function test(){
pageNo = 1;//全局變量,覆蓋之前的pageNo ,相當(dāng)于在js頂部寫 var pageNo = 1
//這里改為 var pageNo = 1;就可以了
//do,,,
}
function paginate(pageNo,pageSize){
window.location.href = "user_list.action?pageNo="+pageNo+"&pageSize="+pageSize;
}
在js中建議所有的變量均用var 聲明,并且所有的變量都可以寫到頂部,因?yàn)閖s沒有塊級作用域。
由于代碼較多,通過谷歌瀏覽器的js調(diào)試器才找到問題所在,
話說本人的電腦無論如何都裝不上fiefox,從去年開始嘗試了多次,均以失敗告終,
不過谷歌的調(diào)試也挺好用的。
簡化代碼如下:
復(fù)制代碼 代碼如下:
$(function(){
var pageNo = 2;//這個(gè)參數(shù)是變化的
var pageSize = 10;
test();
paginate(pageNo,pageSize);//由于 test() 方法覆蓋pageNo,導(dǎo)致pageNo始終等于1
});
function test(){
pageNo = 1;//全局變量,覆蓋之前的pageNo ,相當(dāng)于在js頂部寫 var pageNo = 1
//這里改為 var pageNo = 1;就可以了
//do,,,
}
function paginate(pageNo,pageSize){
window.location.href = "user_list.action?pageNo="+pageNo+"&pageSize="+pageSize;
}
在js中建議所有的變量均用var 聲明,并且所有的變量都可以寫到頂部,因?yàn)閖s沒有塊級作用域。
您可能感興趣的文章:
- 基于JavaScript 聲明全局變量的三種方式詳解
- javascript中局部變量和全局變量的區(qū)別詳解
- Javascript全局變量var與不var的區(qū)別深入解析
- javascript中運(yùn)用閉包和自執(zhí)行函數(shù)解決大量的全局變量問題
- javascript全局變量封裝模塊實(shí)現(xiàn)代碼
- JavaScript中全局變量、函數(shù)內(nèi)變量以及常量表達(dá)式的效率測試
- 理運(yùn)用命名空間讓js不產(chǎn)生沖突避免全局變量的泛濫
- 淺談JavaScript的全局變量與局部變量
- JS全局變量和局部變量最新解析
- Javascript學(xué)習(xí)之談?wù)凧S的全局變量跟局部變量(推薦)
- 探討JavaScript中聲明全局變量三種方式的異同
- JavaScript防止全局變量污染的方法總結(jié)
相關(guān)文章
JavaScript實(shí)現(xiàn)的圖像模糊算法代碼分享
這篇文章主要介紹了JavaScript實(shí)現(xiàn)的圖像模糊算法代碼分享,需要的朋友可以參考下2014-04-04uniapp?app?人臉識別的實(shí)現(xiàn)示例
本文主要介紹了uniapp?app?人臉識別的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-05-05原生js實(shí)現(xiàn)移動端Touch輪播圖的方法步驟
這篇文章主要介紹了原生js實(shí)現(xiàn)移動端Touch輪播圖的方法步驟,touch輪播圖其實(shí)就是通過手指的滑動,來左右切換輪播圖,touch輪播圖其實(shí)就是通過手指的滑動,來左右切換輪播圖,2019-01-01JS中video標(biāo)簽自動播放音視頻并繪制波形圖效果
html中的<video>標(biāo)簽可以用來播放常見的音視頻格式,支持的格式包括:MP3、Ogg、WAV、AAC、MP4、WebM、AVI等,當(dāng)然支持的格式也和瀏覽器和操作系統(tǒng)有關(guān),這篇文章主要介紹了video標(biāo)簽自動播放音視頻并繪制波形圖,需要的朋友可以參考下2023-09-09JavaScript涉及二進(jìn)制的轉(zhuǎn)換方式
這篇文章主要介紹了JavaScript涉及二進(jìn)制的轉(zhuǎn)換方式,具有很好的 參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-06-06w3c編程挑戰(zhàn)_初級腳本算法實(shí)戰(zhàn)篇
下面小編就為大家?guī)硪黄獁3c編程挑戰(zhàn)_初級腳本算法實(shí)戰(zhàn)篇。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-06-06