问一个关于JS执行顺序的问题

one_chord 2012-08-24 10:22:18

如果在HEAD头部里面的JS,对下面BODY的元素进行操作,例如添加删除一些元素等。。
1、这样的操作是不可能的吗?(因为在未执行完HEAD的JS,BODY还没出来?)
2、ONLOAD是不是一定在页面元素出来以后再会触发?(如果是这样,那能不能说ONLOAD里面的JS不会影响到页面的加载速度?也就是说一般会影响到页面显示到用户的速度,就可以用ONLOAD来触发?)

希望有前辈指导一下,越具体越好,谢谢啦
...全文
117 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
未知数 2012-08-24
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]
引用 2 楼 的回复:若会耗费很多时间,就算放load事件里不影响显……
呵呵,谢谢各位。再问一下
那如果有些JS是别人接口或者其它网站的,因为速度比较慢,完全影响到了页面的显示出来速度。如何解决好呢,只能用ONLOAD了吗?
[/Quote]
加载速度慢的网站的js是会慢一点,但为什么这么做呢,把需要的js拷贝到自己网站不就行了
one_chord 2012-08-24
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]若会耗费很多时间,就算放load事件里不影响显……[/Quote]
呵呵,谢谢各位。再问一下
那如果有些JS是别人接口或者其它网站的,因为速度比较慢,完全影响到了页面的显示出来速度。如何解决好呢,只能用ONLOAD了吗?
  • 打赏
  • 举报
回复
学习学习,,

总这你要记住
1.js从上往下的执行
2.不要操作还未生成js对象.(如你根据后台返回的数据在生成的的元素)
3.关于加载速度的问题,你按正常的顺序写,逻辑合理,就先不要考虑性能问题,差不了多少..
未知数 2012-08-24
  • 打赏
  • 举报
回复
1.是的,html顺序加载,head里面的代码会在body之前执行
2.是在页面元素加载完后触发,只是不影响html的显示罢了,至于是否影响页面加载速度,这个要看你页面的设计方式了,界面是纯html产生当然不影响,但其实一些web引用程序界面是由js代码生成的。
还有就是你说的问题其实不存在区别,若你的js代码并不会耗费很多时间,那放哪里都差不多;若会耗费很多时间,就算放load事件里不影响显示,但js代码的持续运行也会让页面无法操作(卡住),所以复杂的计算请放后台运行去。
gf05011 2012-08-24
  • 打赏
  • 举报
回复
onload是在页面元素全部加载完成后才执行;
js代码如果跟页面标签有关,最好包括在onload()里面,以防页面元素没有载入
one_chord 2012-08-24
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]
加载速度慢的网站的js是会慢一点,但为什么这么做呢,把需要的js拷贝到自己网站不就行了
[/Quote]
不能拷的呀,例如百度商桥之类的。。谢了

87,991

社区成员

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

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