从零开始学JavaScript一(简介)

概要: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>中的内容
  • 这个页面会在脚本无效的情况下,向用户显示一条信息,而在启用了脚本的浏览器中,用户永远也不会看到它
时间: 2024-11-03 05:38:45

从零开始学JavaScript一(简介)的相关文章

从零开始学JavaScript(一)- 理解函数

楔子 老姚写这篇笔记开头就说:学JS,不懂事件机制,基本可以说学了JS,就是白学. 看到这句话时的我十分汗颜,如果说,我了解事件机制的话,我也许就不会点开这篇笔记,而现在的我就是那个白学了的. 重新开始审视自己,从事WEB前端开发这份工作已经半年有余,从来没有认认真真的写过一篇技术性的笔记.或许我还不是一个合格前端开发工程师,空有一腔热情却难以施展.以此作为第一篇笔记,勉励自己. 关于这篇笔记并不打算写对于事件机制的理解,毕竟我还是个白学了JS的人,班门弄斧简直是跳梁小丑.那就从最基础的开始写起

从零开始学JavaScript三(变量)

一.变量 ECMAscript变量是松散型变量,所谓松散型变量,就是变量名称可以保存任何类型的数据,每个变量仅仅是一个用于保存值的占位符. 定义变量时要使用var操作符 如: var message; /*定义一个名为message的变量,该变量可以用来保存任何值,未初始化的变*量会保存一个特殊的值-undefined */ 二.局部变量 可以声明变量里同时初始化 function test(){ var message='hello'; //定义局部message变量,并初始值为hello a

从零开始学JavaScript四(数据类型)

一.分类 基本数据类型:undefined.null.string.Boolean.number 复杂数据类型:object object的属性以无序的名称和值对的形式 (name : value) 来定义 1.1 .typeof操作符 鉴于ECMAScript是松散型的,因此需要一种手段来检测给定的变量的数据类型-----typeof就可以负责提供这方面的信息的操作符. 对一个值typeof操作符可能返回下列某个字符串: "undefined"-----------如果这个值未定义

Java从零开始学零(Java简介)

一.Java 简介 Java是由Sun Microsystems公司于1995年5月推出的Java面向对象程序设计语言和Java平台的总称.由James Gosling和同事们共同研发,并在1995年正式推出. Java分为三个体系: JavaSE(J2SE)(Java2 Platform Standard Edition,java平台标准版) JavaEE(J2EE)(Java 2 Platform,Enterprise Edition,java平台企业版) JavaME(J2ME)(Java

从零开始学JavaScript二(基本概念)

基本概念 一.区分大小写 在ECMAScript中的一切(变量.函数名.操作符)都是区分大小写的. 如变量名test和Test分别表示两个不同的变量, 二.标识符 所谓标识符,就是指变量.函数.属性的名字,或者函数的参数.标识符按照下列格式规则组合起来的一或者多个字符: 第一个字符必须为一个字母.下划线(_).或者一个美元符号($); 其它字符可以是字母.下划线.美元符号或数字. ECMAScript标识符采用驼峰大小写格式,也就是第一个字母小写,剩下的每个单词的首字母大写,例如:firstSe

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

<PHP 5.5从零开始学(视频教学版)>当当网购买地址: http://product.dangdang.com/23586810.html <PHP 5.5从零开始学(视频教学版)>源代码.教学视频下载地址: http://pan.baidu.com/s/1zt9hW 内 容 简 介 本书循序渐进地介绍了PHP 5.5开发动态网站的主要知识和技能,提供了大量的PHP应用实例供读者实践.每一章节都清晰讲述了代码作用及其编写思路,使读者能在最短时间内迅速掌握PHP的应用开发技能.

从零开始学 Web 之 ES6(三)ES6基础语法一

大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:http://www.cnblogs.com/lvonve/ CSDN:https://blog.csdn.net/lvonve/ 在这里我会从 Web 前端零基础开始,一步步学习 Web 相关的知识点,期间也会分享一些好玩的项目.现在就让我们一起进入 Web 前端学习的冒险之旅吧! 一.let 作用:

从零开始学 Web 之 Vue.js(四)Vue的Ajax请求和跨域

大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:http://www.cnblogs.com/lvonve/ CSDN:https://blog.csdn.net/lvonve/ 在这里我会从 Web 前端零基础开始,一步步学习 Web 相关的知识点,期间也会分享一些好玩的项目.现在就让我们一起进入 Web 前端学习的冒险之旅吧! 一.Vue发送Aj

【高德地图API】从零开始学高德JS API(七)——定位方式大揭秘

摘要:关于定位,分为GPS定位和网络定位2种.GPS定位,精度较高,可达到10米,但室内不可用,且超级费电.网络定位,分为wifi定位和基站定位,都是通过获取wifi或者基站信息,然后查询对应的wifi或者基站位置数据库,得到的定位地点.定位数据库可以不断完善不断补充,所以,越定位越准确.本文详细描述了,如果使用高德JS API来实现位置定位.城市定位的方法,包含了IP定位,浏览器定位,检索定位等多种网络定位方法.当然,如果您的手机有GPS功能,那么使用浏览器定位的时候,会自动获取GPS信息,使