js script放在head和body里面的区别

简介:

java script放在head和body的区别

 

  1,在head中时,所代表的functions只加载而不执行,执行是在某一事件触发后才开始。
  2,在body中时,直接加载并执行
典型的区别:
如果有不在函数中的执行语句,比如变量初始化,如果在head中就不会执行。
例如:

[html] view plaincopy

 

  1. <html>  

  2.     <head>  

  3.     <title>第一个Html5视频测试</title>  

  4.         <script type="text/javascript">  

  5.             var myVideo=document.getElementById("video1");  

  6.               

  7.             function playPause()  

  8.             {   

  9.                 if (myVideo.paused)   

  10.                   myVideo.play();   

  11.                 else   

  12.                   myVideo.pause();   

  13.             }   

  14.         </script>   

  15.     </head>  

  16.     <body>  

  17.         <div style="text-align:center;">  

  18.             <button onclick="playPause()">播放/暂停</button>   

  19.             <br/>   

  20.             <video id="video1" src="mov_bbb.ogg" width="320" height="240" controls="controls">  

  21.                 Your browser does not support the video tag.  

  22.             </video>  

  23.         </div>  

  24.     </body>  

  25. </html>  

点击“播放/暂停”时,playPause会被执行,但执行时myVideo对象没有定义的,因为定义和初始化语句被有执行过。
如果要执行,需要放在body


  1. <html>  

  2.     <head>  

  3.     <title>第一个Html5视频测试</title>  

  4.     </head>  

  5.     <body>  

  6.         <div style="text-align:center;">  

  7.             <button onclick="playPause()">播放/暂停</button>   

  8.             <br/>   

  9.             <video id="video1" src="mov_bbb.ogg" width="320" height="240" controls="controls">  

  10.                 Your browser does not support the video tag.  

  11.             </video>  

  12.         </div>  

  13.         <script type="text/javascript">  

  14.             var myVideo=document.getElementById("video1");  

  15.               

  16.             function playPause()  

  17.             {   

  18.                 alert("AA");  

  19.                 if (myVideo.paused)   

  20.                   myVideo.play();   

  21.                 else   

  22.                   myVideo.pause();   

  23.             }   

  24.         </script>   

  25.     </body>  

  26. </html>  

当然,javascript放在head中有其他的好处的,所以,如果必须放在head中,变量初始化需要另外想办法


特别说明:尊重作者的劳动成果,转载请注明出处哦~~~http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp66
相关文章
|
20天前
|
JavaScript 前端开发 索引
问js的forEach和map的区别
JavaScript中的`forEach`和`map`都是数组迭代方法。`forEach`遍历数组但不修改原数组,无返回值;它接受回调函数处理元素。`map`则遍历数组并返回新数组,新数组元素为回调函数处理后的结果。两者都接收元素、索引和数组作为回调函数参数。
20 7
|
23天前
|
JavaScript 前端开发
JS require 与 import 的区别
JS require 与 import 的区别
16 1
|
1月前
|
JavaScript
js开发:请解释什么是ES6的类(class),并说明它与传统构造函数的区别。
ES6的类提供了一种更简洁的面向对象编程方式,对比传统的构造函数,具有更好的可读性和可维护性。类使用`class`定义,`constructor`定义构造方法,`extends`实现继承,并可直接定义静态方法。示例展示了如何创建`Person`类、`Student`子类以及它们的方法调用。
22 2
|
1月前
|
自然语言处理 JavaScript 网络架构
js开发:请解释什么是ES6的箭头函数,以及它与传统函数的区别。
ES6的箭头函数以`=&gt;`定义,简化了函数写法,具有简洁语法和词法作用域的`this`。它无`arguments`对象,不能用作构造函数,不支持`Generator`,且不改变`this`、`super`、`new.target`绑定。适用于简短表达式,常用于异步编程和高阶函数。
18 5
|
1月前
|
JavaScript 前端开发
js开发:请解释原型继承和类继承的区别。
JavaScript中的原型继承和类继承用于共享对象属性和方法。原型继承利用原型链查找属性,节省内存但不支持私有成员。类继承通过ES6的class和extends实现,支持私有成员但占用更多内存。两者各有优势,适用于不同场景。
19 0
|
1月前
|
JavaScript 前端开发 网络架构
JavaScript 谈谈对箭头函数的理解及其与普通函数的区别。
JavaScript 谈谈对箭头函数的理解及其与普通函数的区别。
17 1
|
1天前
|
存储 JavaScript 索引
js开发:请解释什么是ES6的Map和Set,以及它们与普通对象和数组的区别。
ES6引入了Map和Set数据结构。Map的键可以是任意类型且有序,与对象的字符串或符号键不同;Set存储唯一值,无重复。两者皆可迭代,支持for...of循环。Map有get、set、has、delete等方法,Set有add、delete、has方法。示例展示了Map和Set的基本操作。
11 3
|
2天前
|
JavaScript 前端开发
js开发:请解释同步和异步编程的区别。
同步编程按顺序执行,易阻塞;异步编程不阻塞,提高效率。同步适合简单操作,异步适合并发场景。示例展示了JavaScript中同步和异步函数的使用。
12 0
|
6天前
|
算法
Swiper库和Glide.js库的性能有何区别
Swiper和Glide.js是两个流行的响应式轮播图库。Swiper功能强大且灵活,支持多方向滑动,拥有丰富的配置和切换效果,适合复杂需求,其高性能得益于优化的算法和惰性加载。Glide.js则轻量级、快速,专注于基础功能,适合简洁需求。两者各有侧重,选择应基于项目具体需求和性能考虑。
|
10天前
|
存储 JavaScript 前端开发
JavaScript DOM 操作:解释一下 cookie、sessionStorage 和 localStorage 的区别。
Cookie是服务器发送至客户端的文本信息,会随每个请求发送回服务器,适合控制会话状态但可能暴露隐私。SessionStorage仅在当前会话中存储数据,关闭浏览器后清除,适合临时存储如登录状态。LocalStorage则持久保存数据,即使关闭浏览器也不会清除,适用于存储长期设置。三种方式各有侧重,应按需求选择。
15 0