实例谈谈Js语句放在head和body的区别

简单描述:

在HTML body部分中的Js会在页面加载的时候被执行。

在HTML head部分中的Js会在被调用的时候才执行。

区别:

在head中的Js,只加载不执行。只有事件触发的情况下才执行。

在body中的Js,在加载的事件就开始执行了。无需事件触发和调用

实例:

<!DOCTYPE html>
<html>
<head>
    <meta charset ="utf-8">
    <title>Js</title>
    <script>
        function showDate(){
            document.getElementById('demo').innerHTML = Date();
        }

        function changeText(id){
            id.innerHTML = 'August';
        }
    </script>
</head>
<body>
    <h1 onclick ="changeText(this)">July</h1><!--事件触发,所以其对应的Js语句放在head中-->

    <button onclick ="showDate()">现在的时间是?</button><!--事件触发,所以其对应的Js语句放在head中-->

    <button id ="myBtn">Septemper</button><!--这不是事件触发,所有其对应的Js语句放在body中-->

    <script>
        document.getElementById("myBtn").onclick = function(){changeMonth()};
        function changeMonth(){
            document.getElementById('demo').innerHTML = 'October';
        }
    </script>

    <p id ="demo"></p>

</body>
</html>
注:
也可以把事件触发对应的Js语句放在body中,但是不能把没有事件触发的Js语句
在head中。由于浏览器是按顺序解析html,所以无事件触发的Js在body的语句应放在你想要执行
语句的后面。

如下文:将无事件触发的Js语句放在button上面也会出现问题。由于浏览器按顺序解析,先会解析button上面的Js语句(显然此时浏览器布知道MyBtn是什么,所以不会做出反应),然后再解析button的id。

<!DOCTYPE html>
<html>
<head>
    <meta charset ="utf-8">
    <title>Js</title>
</head>
<body>
    <script>
        document.getElementById("myBtn").onclick = function(){changeMonth()};
        function changeMonth(){
            document.getElementById('demo').innerHTML = 'October';
        }
    </script>
    < button id = "myBtn" > Septemper < / button >

    <p id ="demo"></p>
</body>
</html>

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

行者雪.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值