1. JavaScript概述 1.1. JavaScript概述 1.1.1. JavaScript是一门独立的语言
JavaScript是基于对象和事件驱动的脚本语言,主要应用在客户端。
JavaScript是一门独立的语言。
JavaScript是一种脚本语言,不需要编译,是解释运行的语言。
JavaScript运行需要环境,最常见的运行环境就是浏览器,现代主流的浏览器都内置了JS引擎,可以运行JavaScript代码。JS也有服务器端运行环境,我们不做讨论(Node.js、GoogleV8引擎…)。
1.1.2. JS的特点解释运行,没有编译过程
基于对象
弱类型
1.1.3. JavaScript不得不说的历史和JAVA的关系:语法十分相似,但其实毫无关系。
1995年5月,Netscape,LiveScript
1995年12月,改名为JavaScript
1996年8月,微软,Jscript
1997-1999年,ECMA,ECMAScript,基于已有的JavaScript和Jscript,提出了标准的Script语法规则,JavaScript和Jscript都遵循这套标准。
1999-以后,ECMAScript不断的更新
JS的优点:
交互性(它可以做的就是信息的动态交互)
安全性(不允许直接访问本地硬盘)
跨平台性(只要是可以解释Js的浏览器都可以执行,和平台无关)
2. 和HTML的结合 2.1. 在HTML中引入JS 2.1.1. 在HTML中直接编写JS
在<head>标签内包含<script>标签,在其中编写JS代码,如图-1所示:
图-1
2.1.2. 引入外部JS大量的JS代码写在HTML中会导致页面复杂,难于维护。此时可以将JS代码提取到单独的js文件中。再在HTML中页面中通过标签引入,如图-2所示:
图-2
要注意,这种方式引入JS,标签不可以写成自闭标签。
3. JavaScript语法 3.1. 数据类型 3.1.1. Js中的数据类型JS中的数据类型分为基本数据类型和复杂数据类型。
3.2. 基本数据类型 3.2.1. 基本数据类型JS基本类型一共有五种
number、string、boolean、undefined、null
3.2.2. number代表数字的基本类型。
JS不区分整形和浮点型,JS中的所有数值类型底层实现都是浮点型。
数值类型中有如下几个特殊值
Infinity 正无穷大
-Infinity 负无穷大
NaN 非数字,非数字非常特殊,和任何值都不行等,包括本身,即NaN==NaN的值为false。可以通过isNaN()判断某值是否为NaN。
数值类型是基本数据类型,但JS本身提供了对应的包装对象Number,具有和数值处理相关的属性和方法。
Number提供的属性:
Number.MAX_VALUE 可表示的最大数字
Number.MIN_VALUE 可表示的最小数字
Number.NaN 非数字值
Number.POSITIVE_INFINITY 正无穷大
Number.NEGATIVE_INFINITY 负无穷大
3.2.3. stringJs中的字符串是基本数据类型,字符串常量必须用双引号引起来。
JS中提供了字符串的包装对象String,提供了字符串处理相关的属性和方法。
String对象提供的属性:
length:字符串中字符数
String 对象提供的方法:
参考JS文档
3.2.4. booleanboolean类型只有两个值,true、false。
JS中提供了布尔类型的包装对象Boolean,提供了布尔类型处理的相关属性和方法。
参考JS文档
3.2.5. undefinedundefined类型只有一个值就是undefined,表示变量未定义,当一个变量未初始化时,值为undefined。
3.2.6. nullnull只有一个值就是null。null用来表示尚未存在的对象,常用来表示函数企图返回一个不存在的对象。
3.3. 复杂数据类型 3.3.1. 复杂数据类型Js中的复杂数据类型指的是对象。关于对象我们后边再详细讲解。
3.3.2. JS数据类型的转换Js数据类型转换
Js中的数据类型会在需要时自动进行转换。转换的规则如下。
数字:可以转为对应字符串 0转为false其他数字转为true 转为对应的Number包装对象
字符串:空字符串转换为0,数字字符串转换为对应数字,其他字符串转换为NaN,空字符串转为false,其他字符串为true,转为对应的String包装对象。
布尔类型:转为对应字符串,ture转为1 false转为0,转为对应的Boolean包装对象。
对象:转为字符串,如果为null则为“null”,如果对象为null则转为false,否则转为true,如图-3所示:
图-3
3.4. 定义变量 3.4.1. 变量的定义