关于JavaScript代码放在body中还是head的问题

  从事前端也有段时间了,期间也看过不少别人写的代码,但是发现一个问题(不能说是一个问题吧)就是有些人把js代码放在head中,也有些人把js代码放在body中,回头想一想,哎,还真想不出为啥。在网上查了查其实这是个很初级的问题(还亏我工作了一段时间,惭愧!)好了,废话不多说,看问题。

  其实浏览器在解析HTML是从上往下的。所以把js脚本放在head中的话,浏览器会先执行js脚本,然后在往下执行。就是你如果要为一个元素绑定事件的话,因为执行顺序的原因,还没有等body解析出来,就给你返回一个空值,就是你要绑定的东西没有。

  如何要把js脚本放在bead中的话,一般会绑定监听事件,等页面完全解析出来再执行下面的代码。比如window.onload或者document.ready,加上这其中一段代码就行,表示DOM树全部加载完了在执行你要执行的代码,这样应该不会出现意外了。

  如果你要放在body中的话,其实也没什么太大的问题,我认为会反而较好些,因为是js脚本放在了body中浏览器解析起来也就顺其自然的解析完全部代码。这也是我之前一直这样写的。

  其实写在什么地方,看业务需求吧或者各个公司的代码规范。这篇文章初学者可以看看,大佬路过瞄一眼就行了。

转载于:https://www.cnblogs.com/zd520/p/9343633.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值