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 实现了一个简单的接粽子小游戏,能接到多少粽子,完全看你手速,不用担心端午没粽子了. 游戏设计 在游戏屏幕内,会随机的从顶部掉落粽子,通过鼠标移动到粽子上并点击,成功接住粽子,得到积分.在设置面板中,可以设置游戏难度,分为简单.很难.超级难三种等级,不同等级的积分也是不同的,玩家可根据自己的手速进行设置.游戏结束后,可看到自己的成绩.实现出来的效果如下(可
随机推荐
- SQL Server CROSS APPLY和OUTER APPLY的应用详解
- jquery实现textarea输入框限制字数的方法
- 域名涨价以后,如何修改代理成本价?
- 深入理解Asp.net中DataBinder.Eval的用法总结
- PHP中func_get_args(),func_get_arg(),func_num_args()的区别
- 详解PHP的Laravel框架中Eloquent对象关系映射使用
- PHP可变变量学习小结
- C#实现PDF文件添加图片背景
- 在Android中访问WebService接口的方法
- 详解Android通知栏沉浸式/透明化完整解决方案
- 使用Script元素发送JSONP请求的方法
- 实例讲解Ruby使用设计模式中的装饰器模式的方法
- jQuery函数的等价原生函数代码示例
- PHP中的use关键字概述
- JNDI简介_动力节点Java学院整理
- 实例详解java Struts2的配置与简单案例
- android实现将位置信息写入JPEG图片文件
- 微信小程序swiper实现滑动放大缩小效果
- 详解JAVA 连等赋值问题
- django如何通过类视图使用装饰器