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 相关文章推荐
JavaScript 组件之旅(二)编码实现和算法
Oct 28 Javascript
div移动 输入框不能输入的问题
Nov 19 Javascript
JS复制内容到剪切板的实例代码(兼容IE与火狐)
Nov 19 Javascript
showModelDialog弹出文件下载窗口的使用示例
Nov 19 Javascript
js window.open弹出新的网页窗口
Jan 16 Javascript
js实现动态加载脚本的方法实例汇总
Nov 02 Javascript
JS闭包、作用域链、垃圾回收、内存泄露相关知识小结
May 16 Javascript
微信web端后退强制刷新功能的实现代码
Mar 04 Javascript
vue.js与element-ui实现菜单树形结构的解决方法
Apr 21 Javascript
JavaScript+H5实现微信摇一摇功能
May 23 Javascript
关于AOP在JS中的实现与应用详解
May 06 Javascript
JavaScript进阶(四)原型与原型链用法实例分析
May 09 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
星际争霸任务指南——虫族
2020/03/04 星际争霸
PHP中strtotime函数使用方法详解
2011/11/27 PHP
PDO版本问题 Invalid parameter number: no parameters were bound
2013/01/06 PHP
PHP取整函数:ceil,floor,round,intval的区别详细解析
2013/08/31 PHP
php实现按照权重随机排序数据的方法
2015/01/09 PHP
PHP实现QQ快速登录的方法
2016/09/28 PHP
Laravel框架验证码类用法实例分析
2019/09/11 PHP
IE event.srcElement和FF event.target 功能比较
2010/03/01 Javascript
JavaScript中的细节分析
2012/06/30 Javascript
javascript阻止浏览器后退事件防止误操作清空表单
2013/11/22 Javascript
js实现图片从左往右渐变切换效果的方法
2015/02/06 Javascript
初步使用Node连接Mysql数据库
2016/03/03 Javascript
使用Angular.js实现简单的购物车功能
2016/11/21 Javascript
Mongoose学习全面理解(推荐)
2017/01/21 Javascript
利用n工具轻松管理Node.js的版本
2017/04/21 Javascript
Bootstrap里的文件分别代表什么意思及其引用方法
2017/05/01 Javascript
集合Bootstrap自定义confirm提示效果
2017/09/19 Javascript
详解基于 Nuxt 的 Vue.js 服务端渲染实践
2017/10/24 Javascript
微信小程序实现倒计时补零功能
2018/07/09 Javascript
微信小程序之判断页面滚动方向的示例代码
2018/08/30 Javascript
前端vue-cli项目中使用img图片和background背景图的几种方法
2019/11/13 Javascript
详解vue中在循环中使用@mouseenter 和 @mouseleave事件闪烁问题解决方法
2020/04/07 Javascript
js动态添加带圆圈序号列表的实例代码
2021/02/18 Javascript
[01:05:41]EG vs Optic Supermajor 败者组 BO3 第二场 6.6
2018/06/07 DOTA
numpy排序与集合运算用法示例
2017/12/15 Python
Python生成任意范围任意精度的随机数方法
2018/04/09 Python
python_mask_array的用法
2020/02/18 Python
jupyter 中文乱码设置编码格式 避免控制台输出的解决
2020/04/20 Python
python脚本监控logstash进程并邮件告警实例
2020/04/28 Python
美国知名的网上鞋类及相关服装零售商:Shoes.com
2017/05/06 全球购物
纪念九一八爱国演讲稿600字
2014/09/14 职场文书
2014市国税局对照检查材料思想汇报
2014/09/23 职场文书
教师节横幅标语
2014/10/08 职场文书
活动费用申请报告
2015/05/15 职场文书
68行Python代码实现带难度升级的贪吃蛇
2022/01/18 Python
关于mysql中string和number的转换问题
2022/06/14 MySQL