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 相关文章推荐
关于viewport,Ext.panel和Ext.form.panel的关系
May 07 Javascript
JavaScript 类似flash效果的立体图片浏览器
Feb 08 Javascript
IE下js调试工具Companion.JS
Oct 15 Javascript
详细介绍jQuery.outerWidth() 函数具体用法
Jul 20 Javascript
JavaScript获取对象在页面中位置坐标的方法
Feb 03 Javascript
微信小程序 获取二维码实例详解
Jun 23 Javascript
关于jQuery里prev()的简单操作代码
Oct 27 jQuery
结合mint-ui移动端下拉加载实践方法总结
Nov 08 Javascript
Vue.js单向绑定和双向绑定实例分析
Aug 14 Javascript
Vue 路由切换时页面内容没有重新加载的解决方法
Sep 01 Javascript
Vue CLI3移动端适配(px2rem或postcss-plugin-px2rem)
Apr 27 Javascript
vue中的循环对象属性和属性值用法
Sep 04 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
PHP base64+gzinflate压缩编码和解码代码
2008/10/03 PHP
在WAMP环境下搭建ZendDebugger php调试工具的方法
2011/07/18 PHP
thinkPHP框架实现的简单计算器示例
2018/12/07 PHP
JavaScipt基本教程之前言
2008/01/16 Javascript
实现连缀调用的map方法(prototype)
2009/08/05 Javascript
firefox事件处理之自动查找event的函数(用于onclick=foo())
2010/08/05 Javascript
JavaScript获得url查询参数的方法
2015/07/02 Javascript
理解JavaScript中Promise的使用
2016/01/18 Javascript
jquery.validate[.unobtrusive]和Bootstrap实现tooltip错误提示问题分析
2016/10/30 Javascript
过期软件破解办法实例详解
2017/01/04 Javascript
bootstrap警告框示例代码分享
2017/05/17 Javascript
addeventlistener监听scroll跟touch(实例讲解)
2017/08/04 Javascript
使用VueCli3+TypeScript+Vuex一步步构建todoList的方法
2019/07/25 Javascript
vue-form表单验证是否为空值的实例详解
2019/10/29 Javascript
基于JavaScript判断两个对象内容是否相等
2020/01/10 Javascript
vue 二维码长按保存和复制内容操作
2020/09/22 Javascript
JavaScript中常用的3种弹出提示框(alert、confirm、prompt)
2020/11/10 Javascript
[03:03]2014DOTA2国际邀请赛 EG战队专访
2014/07/12 DOTA
Python 正则表达式操作指南
2009/05/04 Python
python实现从web抓取文档的方法
2014/09/26 Python
python3.X 抓取火车票信息【修正版】
2018/06/19 Python
基于python实现把图片转换成素描
2019/11/13 Python
解决django model修改添加字段报错的问题
2019/11/18 Python
Django对接支付宝实现支付宝充值金币功能示例
2019/12/17 Python
Windows+Anaconda3+PyTorch+PyCharm的安装教程图文详解
2020/04/03 Python
在Mac中配置Python虚拟环境过程解析
2020/06/22 Python
基于 HTML5 的 WebGL 3D 版俄罗斯方块的示例代码
2018/05/28 HTML / CSS
英国安全产品购物网站:The Safe Shop
2017/03/20 全球购物
高街生活方式全球在线商店:AZBRO
2017/08/26 全球购物
怎样写留学自荐信
2013/11/11 职场文书
工作中个人的自我评价
2013/12/31 职场文书
旷课检讨书范文
2015/01/27 职场文书
财务稽核岗位职责
2015/04/13 职场文书
2015学校图书管理员工作总结
2015/05/11 职场文书
四群教育工作总结
2015/08/10 职场文书
初二物理教学反思
2016/02/19 职场文书