在head标签里面javascript预装载,而在body里面则直接执行,怎么理解?
看到好多人都说在head标签里面javascript预装载,而在body里面则直接执行,这个怎么理解?<scritp>alert('11');</script>上面代码放...
看到好多人都说在head标签里面javascript预装载,而在body里面则直接执行,这个怎么理解?
<scritp>
alert('11');
</script>
上面代码放在head和body不都执行了吗?
如果是:
<script>
function aa(){
alert('11');
}
</script>
再比如上面的不论在head和body不都要调用后才执行吗?
感觉除了加载顺序和head里面的js代码会在body之前加载,没什么区别。
怎么体现:
head标签里面javascript预装载,而在body里面则直接执行这句话?
那位能解惑? 展开
<scritp>
alert('11');
</script>
上面代码放在head和body不都执行了吗?
如果是:
<script>
function aa(){
alert('11');
}
</script>
再比如上面的不论在head和body不都要调用后才执行吗?
感觉除了加载顺序和head里面的js代码会在body之前加载,没什么区别。
怎么体现:
head标签里面javascript预装载,而在body里面则直接执行这句话?
那位能解惑? 展开
展开全部
和程序的逻辑顺序有关
如果你要在head中为某个变量赋值为页面某个节点的内容,程序会直接出错,因为页面内容还没有加载,找不到对应的节点,在body中则没有问题
<!DOCTYPE HTML>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript">
console.log(document.getElementById('div').innerHTML);
</script>
</head>
<body>
<div id="div">test</div>
</body>
</html>
结果:Uncaught TypeError: Cannot read property 'innerHTML' of null
<!DOCTYPE HTML>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<div id="div">test</div>
<script type="text/javascript">
console.log(document.getElementById('div').innerHTML);
</script>
</body>
</html>
结果:test
如果你要在head中为某个变量赋值为页面某个节点的内容,程序会直接出错,因为页面内容还没有加载,找不到对应的节点,在body中则没有问题
<!DOCTYPE HTML>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript">
console.log(document.getElementById('div').innerHTML);
</script>
</head>
<body>
<div id="div">test</div>
</body>
</html>
结果:Uncaught TypeError: Cannot read property 'innerHTML' of null
<!DOCTYPE HTML>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<div id="div">test</div>
<script type="text/javascript">
console.log(document.getElementById('div').innerHTML);
</script>
</body>
</html>
结果:test
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个说法并不是JS或浏览器的执行规则,只能说是一种编程习惯.浏览器或JS引擎只会顺序执行(带defer属性的script标签除外),这句话可以换个方式理解:
如果希望先加载一些脚本片段,可以把它放到head段,对于需要立即执行的脚本,在body中直接调用.
如果希望先加载一些脚本片段,可以把它放到head段,对于需要立即执行的脚本,在body中直接调用.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
javascript放在head标签里面,加载到用户端的时候会先对javascript代码进行编译,编译的这段时间浏览器不会显示htmly元素,就是说这段时间看不到网页有一段等待的时间。而放在body里面浏览器会在显示html元素的同时编译javascript所以用户不会觉得等待时间过长。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询