写程序时遇到一个非常怪异的问题,请高手指教!!!!

奇才有点痴 2007-11-21 09:24:27
原码如下:
string="javascipt原码"
//var str="";
function show()
{
var str="";
//str = "<font color=" + color1 + ">";
for(j=0;j<string.length;j++)
{
if(j==i)
{
str+="<font face=arial color="+color2+">"+string.charAt(i)+"</font>";
}
else
{
str+="<font color="+color1+">"+string.charAt(j)+"</font>";
}
}
//str += "</font>";
a.innerHTML=str;
(i==string.length)?i=0:i++;
}
其实我知识想实现一个很简单的字体动化效果,上面字符串变量str的定义在for循环外面和里面有什么区别呢,为什么在页面上显示的效果差异如此大,当在外面时,变量string的内容会在页面内重复出现,而在里面就能出现我想要的效果,也就是循环变色.
...全文
84 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
JK_10000 2007-11-22
  • 打赏
  • 举报
回复
show函数里定义的变量,生命只存在于运行那一次函数时。该函数第二次运行用,值又是新值了。
奇才有点痴 2007-11-22
  • 打赏
  • 举报
回复
小弟明白了,谢谢两位大侠的解释啊
gs6fox 2007-11-22
  • 打赏
  • 举报
回复
嗯,定义在外面的时候相当于全局变量
只要你页面没关闭它的值就不会消息
而你每次值都是用的+=来赋的,所以那个值就会越来越长
你刷新下页面或重新打开才会再次初始化

87,901

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧