js隐式全局变量造成的bug示例代码
一段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没有块级作用域。
相关推荐
-
js隐式全局变量造成的bug示例代码
一段js代码遇到一个bug,由于中间的隐式全局变量造成的, 由于代码较多,通过谷歌浏览器的js调试器才找到问题所在, 话说本人的电脑无论如何都装不上fiefox,从去年开始尝试了多次,均以失败告终, 不过谷歌的调试也挺好用的. 简化代码如下: 复制代码 代码如下: $(function(){ var pageNo = 2;//这个参数是变化的 var pageSize = 10; test(); paginate(pageNo,pageSize);//由于 test() 方法覆盖pageNo,导
-
javascript 显示全局变量与隐式全局变量的区别
在JavaScript中,全局变量有两种声明方式 使用 var 显示声明的全局变量 不使用 var 声明的隐式全局变量 两者的区别在于是否能通过 delete 操作符删除 先看一段代码 var a = 'a'; // 显式声明的全局变量 b = 'b'; // 隐式声明的全局变量 console.log(a); // a console.log(b); // b console.log(window.a); // a console.log(window.b); // b 在 js 中全局变量其
-
JS+Canvas实现接球小游戏的示例代码
目录 写在最前 git地址 成果展示 实现思路 详细说明 写在最后 写在最前 看了canvas的动画系列,已经抑制不住内心的冲动想写个小游戏了,还是那个套路——多写写,你才能了解它.加上这两天下班后我都没有机会去摸摸篮球,所以就写了个接球的小游戏(准确的说不能叫游戏,太简单了,叫动画吧...). 都是一些基础的实现,有时间你也可以试试,废话说到这里,我们开始吧. git地址 https://github.com/ry928330/ballGame.git 成果展示 实现思路 这里我们采用疑问的句
-
js使用html2canvas实现屏幕截取的示例代码
整理文档,搜刮出一个js使用html2canvas实现屏幕截取的示例代码,稍微整理精简一下做下分享. <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no"> <
-
js和jquery实现监听键盘事件示例代码
项目中要监听键盘组合键CTRL+C,以便做出对应的响应.查了一些方法但是其兼容性和稳定性不是很高,最终得到如下方法,经测试在Firfox.Chrome.IE中均可以使用. 一.使用javascript实现 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <script> function keyListener(e
-
使用原生JS实现滚轮翻页效果的示例代码
一.滚轮事件 当用户通过鼠标滚轮与页面交互.在垂直方向上滚动页面时,就会触发mousewheel事件,这个事件就是实现全屏切换效果需要用到的.在IE6, IE7, IE8, Opera 10+, Safari 5+中,都提供了 "mousewheel" 事件,而 Firefox 3.5+ 中提供了一个等同的事件:"DOMMouseScroll".与mousewheel事件对应的event对象中我们还会用到另一个特殊属性-wheelDelta属性. 1."m
-
three.js 制作动态二维码的示例代码
今天郭先生说一下用canvas解析图片流,然后制作一个动态二维码的小案例,话不多说先上图,这是郭先生的微信二维码哦! 1. 解析图片流 canvas = document.createElement('canvas');//创建canvas画布 content = canvas.getContext('2d');//获取画布的上下文 canvas.width = 310;//设置尺寸 canvas.height = 310; img = new Image();//创建一张图片 img.src
-
基于原生JS封装的Modal对话框插件的示例代码
基于原生JS封装Modal对话框插件,具体内容如下所示: 原生JS封装Modal对话框插件,个人用来学习原理与思想,只有简单的基本框架的实现,可在此基础上添加更多配置项 API配置 //基本语法 let modal = ModalPlugin({ //提示的标题信息 title:'系统提示', //内容模板 字符串 /模板字符串/DOM元素对象 template:null, //自定义按钮信息 buttons:[{ //按钮文字 text:'确定', click(){ //this:当前实例 }
-
Node.js实现爬取网站图片的示例代码
目录 涉及知识点 cheerio简介 什么是cheerio ? 安装cheerio 准备工作 核心代码 示例截图 涉及知识点 开发一个小爬虫,涉及的知识点如下所示: https模块,主要是用户获取网络资源,如:网页源码,图片资源等. cheerio模块,主要用于解析html源码,并可访问,查找html节点内容. fs模块,主要用于文件的读写操作,如保存图片,日志等. 闭包,主要是对于异步操作,对象的隔离保护. cheerio简介 什么是cheerio ? cheerio是为服务器特别定制的,快速
-
基于JS实现接粽子小游戏的示例代码
目录 游戏设计 游戏实现 添加粽子元素 粽子掉落 难度选择 开始游戏 总结 端午节马上就到了,听说你们公司没发粽子大礼包?没关系,这里用 JS 实现了一个简单的接粽子小游戏,能接到多少粽子,完全看你手速,不用担心端午没粽子了. 游戏设计 在游戏屏幕内,会随机的从顶部掉落粽子,通过鼠标移动到粽子上并点击,成功接住粽子,得到积分.在设置面板中,可以设置游戏难度,分为简单.很难.超级难三种等级,不同等级的积分也是不同的,玩家可根据自己的手速进行设置.游戏结束后,可看到自己的成绩.实现出来的效果如下(可
随机推荐
- editplus 注册码
- git自定义_动力节点Java学院整理
- java JSP开发之Spring中Bean的使用
- Spring MVC之@RequestMapping注解详解
- js获取当前时间(昨天、今天、明天)
- asp 取一个数的整数 但不是四舍五入,只要有小数,就取大于这个数的整数
- C 语言指针概念的详解
- Python实现将16进制字符串转化为ascii字符的方法分析
- MSAgent 详细解说第1/5页
- python查找第k小元素代码分享
- JDBC 使用说明(流程、架构、编程)
- Jquery动态更改一张位图的src与Attr的使用
- js+canvas实现动态吃豆人效果
- 微信小程序 ES6Promise.all批量上传文件实现代码
- 游戏外挂分析
- C语言 共用体(Union)详解及示例代码
- Nginx环境下PHP flush失效的解决方法
- C# 获取属性名的方法
- C# 设计模式系列教程-状态模式
- PHP操作路由器实现方法示例