JS代码的位置与事件响应代码块的封装问题

JS代码的位置
      我们可以将 JavaScript 代码放在html文件中任何位置,但是我们一般放在网页的head或者body部分。
   放在<head>部分
最常用的方式是在页面中head部分放置<script>元素,浏览器解析head部分就会执行这个代码,然后才解析页面的其余部分。
  放在<body>部分
JavaScript代码在网页读取到该语句的时候就会执行。
 注意
      Javascript作为一种脚本语言可以放在html页面中任何位置,但是浏览器解释html时是 按先后顺序 的,所以前面的script就先被执行。

      比如进行页面显示初始化的js必须放在head里面,因为初始化都要求提前进行(如给页面body设置css等);而如果是通过事件调用执行的function那么对位置没什么要求的。


事件响应代码块的封装
★   事件响应代码的不同封装其页面响应效果也有所不同
△  测试 1  放在标签<head>中,或紧接着标签<body>的下方
  1. <script>
  2. /* document.onclick = function () {
  3. alert("You have clicked in the document!");
  4. };
  5. var img = document.getElementById("mainImage");
  6. img.onclick = function () {
  7. alert("You have clicked on the picture!");
  8. };*/
  9. /* 若将document.onclick放在img onclick事件之前,那么只会提示document的onclick */
  10. /* 若将img onclick放在document.onclick事件之前,那么无任何提示*/
  11. </script>
△  测试 2  放在内容标签之后
  1. <body>
  2. <img src="images/image.jpg" id="mainImage">
  3. document.onclick =function(){
  4. alert("You have clicked in the document!");
  5. };
  6. var img = document.getElementById("mainImage");
  7. img.onclick =function(){
  8. alert("You have clicked on the picture!");
  9. };
  10. //此时document.onclick与img.onclick的顺序不影响执行结果
  11. </body>
 

推荐做法(正确的姿势...)

       将事件响应代码封装为函数,然后在window.onload中完成挂接工作。
  1. <script>
  2. functionDemo(){
  3. document.onclick =function(){
  4. alert("You have clicked in the document!");
  5. };
  6. var img = document.getElementById("mainImage");
  7. img.onclick =function(){
  8. alert("You have clicked on the picture!");
  9. };
  10. }
  11. window.onload =function(){
  12. Demo();
  13. }
  14. </script>
这样子,script的代码块无论在head中还是body中,或者是body的不同位置,最终的执行结果都是一样的。
 



转载于:https://www.cnblogs.com/Jener/p/5982183.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值