<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<head><meta forua="true" http-equiv="Cache-Control" content="max-age=0" /></head>
<card title="解决js隐式全局变量造成的bug示例代码" id="card1">
<p> 游客</p><p>
标题:解决js隐式全局变量造成的bug示例代码<br/>
正文:<br/>
一段js代码遇到一个bug，由于中间的隐式全局变量造成的， <br/>由于代码较多，通过谷歌浏览器的js调试器才找到问题所在， <br/>话说本人的电脑无论如何都装不上fiefox,从去年开始尝试了多次，均以失败告终， <br/>不过谷歌的调试也挺好用的。 <br/>简化代码如下： <br/>代码如下:<br/>$(function(){ <br/>var pageNo = 2;//这个参数是变化的 <br/>var pageSize = 10; <br/>test(); <br/>paginate(pageNo,pageSize);//由于 test() 方法覆盖pageNo,导致pageNo始终等于1 <br/>}); <br/>function test(){ <br/>pageNo = 1;//全局变量，覆盖之前的pageNo ,相当于在js顶部写 var pageNo = 1 <br/>//这里改为 var pageNo = 1;就可以了 <br/>//do,,, <br/>} <br/>function paginate(pageNo,pageSize){ <br/>window.location.href = &quot;user_list.action?pageNo=&quot;+pageNo+&quot;&amp;amp;pageSize=&quot;+pageSize; <br/>} <br/><br/>在js中建议所有的变量均用var 声明，并且所有的变量都可以写到顶部，因为js没有块级作用域。<br/><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=1197&amp;Page=1">[&lt;&lt;]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=1197&amp;Page=1">[[1]]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=1197&amp;Page=1">[&gt;&gt;]</a><br/>
<br/>
<a href="wap.asp?act=Com&amp;id=1197">查看评论(0)</a><br/>
<a href="wap.asp?act=AddCom&amp;inpId=1197">发表评论</a><br/><br/>

<br/>

<br/>
<a href="http://camnpr.com/wap.asp">首页</a>
</p>
</card>
</wml>