概要:JavaScript的组成、 各个组成部分的作用 、

  一、JavaScript是一种专为与网页交互而设计的脚本语言,它的的组成

 Javascript 
ECMAScript(核心) DOM(文档对象模型) BOM(浏览器对象模型)

1.1ECMAScript

     ECMA-262定义的ECMAScrip与Web浏览器没有依赖关系,ECMA-262定义的只是这门语言的基础,提供核心语言功能

  ECMAScript是通过ECMA-262标准化的脚本语言,ECMA-262规定语言的:语法、类型、语句、关键字、保留字、操作符、对象

1.2 DOM(Document Object Modle)

     DOM是针对XML但是经过扩展用于HTML的应用程序编程接口(API,Application Programming Interface),提供访问和操作网页内容的方法和接口

  DOM把整个页面映射为一个多层节点结构,HTML或者XML等页面中的每个组成部分都是某种类型的节点,这些节点又包含不同类型的数据。

1.3 BOM(Bower Object Modle)

  控制浏览器显示的页面以外的部分,BOM只处理浏览器窗口和框架,提供与浏览器交互的方法和接口

二、<script>元素

2.1引用javascript文件

  •  外部引用javascript文件:
<script type="text/javascript" src="../../XX.js"></script>

  • 页面嵌入javascript代码
<script type="text/javascript">//javascript代码</script>

包含在<script>元素内部的JavaScript代码将被从上至下依次解释

2.2 <script>元素的属性

  • defer延迟脚本:告诉浏览器立即下载,脚本会被延迟到整个页面都被解析完才执行, defer只适用于外部引入的脚本文件
<!DOCTYPE html>
<html><head><script type="text/javascript" defer="defer" src="example.js"></script></head>
</html>

虽然<script>标签位于<head>标签内,但是demo.js会延迟到浏览器遇到</html>后才执行。

  • async异步脚本:必让页面等待脚本的下载和执行,从而异步加载页面其他内容

defer一样只适用于外部引入的脚本文件,async告诉浏览器立即下载文件,但与defer不同的是标记不async脚本并不保证按照指定它们的先后顺序执行,建议异步脚本不要在加载期间修改DOM

<!--异步脚本-->
<script type="text/javascript" async="async" src="example1.js"></script>
<script type="text/javascript" async="async" src="example2.js"></script>

2.3 <noscript>元素的属性

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>test</title>
<!--延迟脚本-->
<scripttype="text/javascript" defer="defer" src="example.js"></script>
<!--导部脚本-->
<script type="text/javascript" async="async" src="example1.js"></script>
<script type="text/javascript" async="async" src="example2.js"></script>
</head>
<body><noscript><p>本页显示需要浏览器支持(启用)Javascript</noscript>
</body>
</html>

  • 浏览器不支持脚本
  • 浏览器支持脚本,但脚本被禁用,浏览器就会显示<noscript>中的内容
  • 这个页面会在脚本无效的情况下,向用户显示一条信息,而在启用了脚本的浏览器中,用户永远也不会看到它

转载于:https://www.cnblogs.com/liunanjava/p/4231314.html

从零开始学JavaScript一(简介)相关推荐

  1. 从零开始学JavaScript三(变量)

    一.变量 ECMAscript变量是松散型变量,所谓松散型变量,就是变量名称可以保存任何类型的数据,每个变量仅仅是一个用于保存值的占位符. 定义变量时要使用var操作符 如: var message; ...

  2. 《HTML5+CSS3+JavaScript前端开发从零开始学(视频教学版)》简介

    #好书推荐##好书奇遇季#<HTML5+CSS3+JavaScript前端开发从零开始学(视频教学版)>,京东当当天猫都有发售.定价69元.本书配套本书配套示例源代码.PPT课件与同步教学 ...

  3. 《PHP 5.5从零开始学(视频教学版)》内容简介、目录

    <PHP 5.5从零开始学(视频教学版)>当当网购买地址: http://product.dangdang.com/23586810.html <PHP 5.5从零开始学(视频教学版 ...

  4. 从零开始学python人工智能课程_从零开始学人工智能(12)--Python · 决策树(零)· 简介...

    原标题:从零开始学人工智能(12)--Python · 决策树(零)· 简介 感谢关注天善智能,走好数据之路↑↑↑ 欢迎关注天善智能,我们是专注于商业智能BI,人工智能AI,大数据分析与挖掘领域的垂直 ...

  5. 从零开始学前端:初识JavaScript --- 今天你学习了吗?(JS:Day01)

    从零开始学前端:程序猿小白也可以完全掌握!-今天你学习了吗?(JS) 复习:从零开始学前端:jQuery官网 - 今天你学习了吗?(CSS:Day26) 文章目录 从零开始学前端:程序猿小白也可以完全 ...

  6. 《Python深度学习从零开始学》简介

    #好书推荐##好书奇遇季#深度学习入门书<Python深度学习从零开始学>,京东当当天猫都有发售.从模型和实验入手,快速掌握深度学习技术. 业内大咖强力推荐!!!武汉大学信息管理学院教授 ...

  7. 《MySQL 8从零开始学(视频教学版)》简介

    #好书推荐##好书奇遇季#<MySQL 8从零开始学(视频教学版)>,定价89元,京东当当天猫都有发售.本书面向MySQL 8数据库初学者,是MySQL数据库畅销入门书. 配套资源 本书配 ...

  8. 从零开始学 Web 之 JavaScript(三)函数

    大家好,这里是「 Daotin的梦呓 」从零开始学 Web 系列教程.此文首发于「 Daotin的梦呓 」公众号,欢迎大家订阅关注.在这里我会从 Web 前端零基础开始,一步步学习 Web 相关的知识 ...

  9. 《Linux从零开始学(视频教学版)》简介

    #好书推荐##好书奇遇季#<Linux从零开始学(视频教学版)>,京东当当天猫都有发售.定价79元,网店打折一下很便宜.从CentOS Stream 8入手,学会Linux系统操作. Li ...

最新文章

  1. ROS: catkin和rosmake创建和编译功能包、执行节点
  2. PyCharm 代码格式化工具:black
  3. 用单片机测量流体流速的_流量测量的主要方法
  4. spring条件注解有哪些_Spring4有条件
  5. matlab不同调制方式下性能比较,用不同调制方式实现跳/扩频混合通信的抗干扰性能...
  6. STL12-queue容器
  7. 计算机图形学笔记 (第一周)
  8. 慢慢记录有关渗透1瞎记
  9. SQlite 发布3.2.5版本
  10. 在vuex的mutations中使用vue的小技巧
  11. java 反射与封装性的_Java反射的封装
  12. JVM初识之类加载过程
  13. 支持android 9的框架,【测评】安卓9 xposed框架 riru edxposed与太极·magisk对比
  14. 墙裂推荐6款实用办公软件!超级好用!
  15. 回归中的相关系数以及R平方值和Python应用举例
  16. Android开发——应用宝推广渠道出现MD5值重复,请勿重复上传
  17. 嵌入式linux编程开发必备知识
  18. 周鸿祎《智能主义》读书笔记
  19. paddle video_tag paddle.fluid.io.xmap_readers
  20. gp-greenplum-vacuum-资源回收-AO表空间回收

热门文章

  1. 你连原理都还没弄明白?快来瞧瞧这份Spring面试小抄
  2. Android开发热门前沿知识,成功定级腾讯T3-2
  3. python导包顺序_2019-03-21 python导入包以及Python程序执行顺序理解
  4. php自己写配置项,创建配置文件 用PHP写出自己的BLOG系统 2
  5. 可通过http获取远端服务信息_微服务基础——厉害了!API网关
  6. win8安装mysql8_windows安装mysql8详解
  7. 网络品牌推广浅析网站标题该如何进行SEO优化?
  8. 网络推广——网络推广专员如何提升企业网站转化率?
  9. 网站SEO秒收录对网站有哪些要求?
  10. 怎样才能正确的挑选和建立关键词词库?