js隱式全局變量造成的bug示例代碼
更新時間:2014年04月22日 15:39:53 作者:
一段js代碼遇到一個bug,由于中間的隱式全局變量造成的,通過谷歌瀏覽器的js調(diào)試器才找到問題所在,下面將代碼與大家分享下
一段js代碼遇到一個bug,由于中間的隱式全局變量造成的,
由于代碼較多,通過谷歌瀏覽器的js調(diào)試器才找到問題所在,
話說本人的電腦無論如何都裝不上fiefox,從去年開始嘗試了多次,均以失敗告終,
不過谷歌的調(diào)試也挺好用的。
簡化代碼如下:
$(function(){
var pageNo = 2;//這個參數(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 聲明,并且所有的變量都可以寫到頂部,因為js沒有塊級作用域。
由于代碼較多,通過谷歌瀏覽器的js調(diào)試器才找到問題所在,
話說本人的電腦無論如何都裝不上fiefox,從去年開始嘗試了多次,均以失敗告終,
不過谷歌的調(diào)試也挺好用的。
簡化代碼如下:
復(fù)制代碼 代碼如下:
$(function(){
var pageNo = 2;//這個參數(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 聲明,并且所有的變量都可以寫到頂部,因為js沒有塊級作用域。
您可能感興趣的文章:
- 基于JavaScript 聲明全局變量的三種方式詳解
- javascript中局部變量和全局變量的區(qū)別詳解
- Javascript全局變量var與不var的區(qū)別深入解析
- javascript中運(yùn)用閉包和自執(zhí)行函數(shù)解決大量的全局變量問題
- javascript全局變量封裝模塊實現(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 實現(xiàn)劃詞標(biāo)記劃詞搜索功能
在頁面中加上這串代碼就行了,同時還有搜索功能。2009-10-10
ES6學(xué)習(xí)教程之Map的常用方法總結(jié)
Map 是 ES6 中新增的一種數(shù)據(jù)結(jié)構(gòu),與 Set 一起添加,其實功能都差不多。下面這篇文章主要給大家總結(jié)介紹了關(guān)于ES6學(xué)習(xí)教程之Map的常用方法,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來一起看看吧。2017-08-08
JavaScript性能優(yōu)化之小知識總結(jié)
JavaScript的性能問題不容小覷,這就需要我們開發(fā)人員在編寫JavaScript程序時多注意一些細(xì)節(jié),本文給大家介紹javascript性能優(yōu)化之小知識總結(jié),需要的朋友可以參考下2015-11-11
JavaScript的removeChild()函數(shù)用法詳解
removechild 函數(shù)可以刪除父元素的指定子元素,通過本文給大家介紹javascript的removeChild()函數(shù)用法,對js removechild函數(shù)相關(guān)知識感興趣的朋友一起學(xué)習(xí)吧2015-12-12

