js隐式全局变量造成的bug示例代码


Posted in Javascript onApril 22, 2014

一段js代码遇到一个bug,由于中间的隐式全局变量造成的,
由于代码较多,通过谷歌浏览器的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没有块级作用域。
Javascript 相关文章推荐
精选的10款用于构建良好易用性网站的jQuery插件
Jan 23 Javascript
js判断一个元素是否为另一个元素的子元素的代码
Mar 21 Javascript
jquery得到font-size属性值实现代码
Sep 30 Javascript
js使用Array.prototype.sort()对数组对象排序的方法
Jan 28 Javascript
JavaScript中的闭包介绍
Mar 15 Javascript
JS实现为排序好的字符串找出重复行的方法
Mar 02 Javascript
BootStrap.css 在手机端滑动时右侧出现空白的原因及解决办法
Jun 07 Javascript
浅谈javascript中关于日期和时间的基础知识
Jul 13 Javascript
jQuery中 $ 符号的冲突问题及解决方案
Nov 04 Javascript
使用JS实现导航切换时高亮显示的示例讲解
Aug 22 Javascript
详解使用WebPack搭建React开发环境
Aug 06 Javascript
js get和post请求实现代码解析
Feb 06 Javascript
JavaScript实现的图像模糊算法代码分享
Apr 22 #Javascript
JavaScript闭包实例讲解
Apr 22 #Javascript
JavaScript函数的4种调用方法详解
Apr 22 #Javascript
JavaScript实现存储HTML字符串示例
Apr 21 #Javascript
JavaScript获取flash对象与网上的有所不同
Apr 21 #Javascript
js unicode 编码解析关于数据转换为中文的两种方法
Apr 21 #Javascript
jquery form 加载数据示例
Apr 21 #Javascript
You might like
在WAMP环境下搭建ZendDebugger php调试工具的方法
2011/07/18 PHP
浅析php单例模式
2014/11/25 PHP
如何使用jQUery获取选中radio对应的值(一句代码)
2013/06/03 Javascript
多次注册事件会导致一个事件被触发多次的解决方法
2013/08/12 Javascript
jQuery遍历对象、数组、集合实例
2014/11/08 Javascript
详解JavaScript中jQuery和Ajax以及JSONP的联合使用
2015/08/13 Javascript
基于javascript如何传递特殊字符
2015/11/30 Javascript
javascript图片切换综合实例(循环切换、顺序切换)
2016/01/13 Javascript
Nodejs中session的简单使用及通过session实现身份验证的方法
2016/02/04 NodeJs
基于jquery实现轮播特效
2016/04/22 Javascript
详解webpack 多入口配置
2017/06/16 Javascript
Angular2里获取(input file)上传文件的内容的方法
2017/09/05 Javascript
JavaScript引用类型Function实例详解
2018/08/09 Javascript
[50:45]2018DOTA2亚洲邀请赛 4.6 淘汰赛 VP vs TNC 第一场
2018/04/10 DOTA
[00:05]ChinaJoy现场 DOTA2玩家高呼“CN DOTA BEST DOTA”
2019/08/04 DOTA
python封装对象实现时间效果
2020/04/23 Python
在Django同1个页面中的多表单处理详解
2017/01/25 Python
Python进阶_关于命名空间与作用域(详解)
2017/05/29 Python
Python日期的加减等操作的示例
2017/08/15 Python
基于python中的TCP及UDP(详解)
2017/11/06 Python
Python实现希尔排序算法的原理与用法实例分析
2017/11/23 Python
django session完成状态保持的方法
2018/11/27 Python
python文件写入write()的操作
2019/05/14 Python
python pandas获取csv指定行 列的操作方法
2019/07/12 Python
用python中的matplotlib绘制方程图像代码
2019/11/21 Python
解决tensorflow/keras时出现数组维度不匹配问题
2020/06/29 Python
美国汽车交易网站:Edmunds
2016/08/17 全球购物
亚洲领先的设计购物网站:Pinkoi
2020/11/26 全球购物
煤矿班组长的职责
2013/12/25 职场文书
大专会计自我鉴定
2014/02/06 职场文书
教师节感恩老师演讲稿
2014/08/28 职场文书
2014年客户经理工作总结
2014/11/20 职场文书
2015年出纳工作总结与计划
2015/05/18 职场文书
刑事撤诉申请书
2015/05/18 职场文书
拔河比赛队名及霸气口号
2015/12/24 职场文书
JavaScript 与 TypeScript之间的联系
2021/11/27 Javascript