烦,脚本写得浏览器老当掉

LifeForCode 2007-05-24 11:38:56
现象是顺利执行完某个方法后,再点击页面就会当掉,若没有动作则无恙。
调了很久发现是这么句代码导致的
xx = $('List').getElementsByTagName('label')[i].innerHTML;
//我用了prototype1.4,作用是从List这个div中获得第i个label的内容
--
等待大侠解惑

顺便请大家来谈谈写脚本要注意哪些性能问题,
我注意到的是var的使用,大量字符串连接用array组合,对象定义避免递归
...全文
380 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
xqbstar 2007-05-29
  • 打赏
  • 举报
回复
循环调用层次太深,跳出的时候尽量终止掉当前循环吧
cgisir 2007-05-29
  • 打赏
  • 举报
回复
那个方法不长的话可以 每行加个return; 挨行试 估计是遇上死循环了
LifeForCode 2007-05-29
  • 打赏
  • 举报
回复
清除的时候你怎么清除的
---
innerHTML='' 和 removechild()两种都有试过
古怪的现在是换到别的方法里去执行就没问题了
后来我想到了,所要清除的对象是该事件源的N级父节点,难道问题关键在此??

写时间戳是个调试的好主意。


在循环里调用层次太深
---
JK_10000(JK) 的意思是避免通过深层次的属性来访问对象?
JK_10000 2007-05-28
  • 打赏
  • 举报
回复
xx = $('List').getElementsByTagName('label')[i].innerHTML;
-----------
这一句看起来就不顺眼
在循环里调用层次太深
当然会严重影响效率,
改成这样:

var labelObjs=$('List').getElementsByTagName('label');
for(var i......)
{
xx = labelObjs[i].innerHTML;

}
hbhbhbhbhb1021 2007-05-28
  • 打赏
  • 举报
回复
写时间戳,看哪句话引起的慢,清除的时候你怎么清除的?
LifeForCode 2007-05-28
  • 打赏
  • 举报
回复
最近没异常了,是清除一个div的内容引起的,改在别的事件里执行就没问题了
chuckcoin 2007-05-26
  • 打赏
  • 举报
回复
看症状好象死循环...
chuckcoin 2007-05-24
  • 打赏
  • 举报
回复
当掉的具体表现形式是怎么样的?
LifeForCode 2007-05-24
  • 打赏
  • 举报
回复
代码太长,千把行。说下环境:
内存里有两张HashTable存了不同的自定义对象,几个公共变量。
函数分别实现对Dom操作、更新hashtable、ajax存取点数据..
纳闷:
什么原因会导致 "顺利执行完某个方法后,再点击页面就会当掉,若没有动作则无恙"这种奇怪的现象呢
dh20156 2007-05-24
  • 打赏
  • 举报
回复
只看这一句,貌似米什么问题!
backhead 2007-05-24
  • 打赏
  • 举报
回复
换个浏览器看看 是不是楼主的机子的不好。。执行不了
LifeForCode 2007-05-24
  • 打赏
  • 举报
回复
刚才用排除法证实冤枉了 $('List').getElementsByTagName('label')[i].innerHTML;
呵呵,误导大家了

to bigman_lfj(盐水小鱼)
这个情况我这不存在的,谢谢分享


to chuckcoin(啥都不懂呀)
表现形式不是浏览器自动关掉或系统主动提示有异常,
状况如下:浏览器还在,但不会响应动作;鼠标保持当掉之前的形状,可以在上移动。任务管理器中看到是没有响应,不理它的话此状态可以保持个把小时以上,再长没试过。
geshuwei2006 2007-05-24
  • 打赏
  • 举报
回复
hA
bigman_lfj 2007-05-24
  • 打赏
  • 举报
回复
碰到的问题和lz不太一样啊,不过说一说想法,赫赫。
这种情况估计有可能是页面对象尚未完全载如。把必须要提前
显示的在页面上列出来,剩余的放到onload里面,调用ajax替换掉
看看。

87,907

社区成员

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

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