JS代码放在head和body中的区别分析
1.在收藏夹里面收藏了三个回答不错
https://blog.csdn.net/qq_33709508/article/details/107102896
https://www.cnblogs.com/hxwdbk/p/11382039.html
2.放在head里的js会先于后面的html语句运行
(1)js里面函数外的语句都会被执行(在html加载之前执行),但当html后面的按钮,部件被采用时如 :
var btn_add = document.getElementById(“btn”);
定义的时候,那个按钮都没有被加载,可能获得的是一个 undefind。
(2)js里面的函数不会被执行只会被加载
3.放在body里面的js
(1)从上到下执行,它与html里面资源加载顺序是是根据谁在前面谁在后面加载的 js里函数外的语句都会被执行,但只会执行一次,是在从上到下读取到它的时候执行的,照样会出现undefind问题,
比如 var btn_add = document.getElementById(“btn”),如果btn在它后面会引起undefind问题
(2)js里面的函数不会被执行只会被加载
4.注意:
函数不会自己执行,只能是在被函数外语句调用,或事件触发
资源的加载是从代码从上到下,就算在body里也一样会出现undefine问题
函数之外定义变量为全局变量,整个html都可以用,但注意加载顺序引起的未定义问题,就是还没加载完,下面定义的全局变量就被上面引用了
函数内定义的叫局部变量,作用域只在函数内