1 JavaScript概述
1.1 JavaScript 的特点
JavaScript是一门动态的、弱类型的、解释型的、基于对象的脚本语言。
动态的: 数据类型无需提前指定,如: JavaScript、Python等。 静态的: 数据类型需要提前指定,如C、C++、Java 等。
弱类型: 数据类型可以自动转换,如JavaScript、PHP等。 强类型: 数据乐西无法自动转换,如C、C++、Python等
解释型: 边编译,边运行,如JavaScript、PHP、Python等。 编译型: 先编译后运行,如C、C++、Java。
脚本语言: 可以嵌入其他计算机语言中执行,如 JavaScript、PHP、Python 等。
1.2 JavaScript的运行环境
-
浏览器
客户端浏览器上的 JavaScript 组成部分:
- ECMAScript —— JavaScript的语法
- BOM —— 浏览器对象模型
- DOM —— 文档对象模型
Node.js
2 JavaScript 基本语法
2.1 JavaScript 在 HTML 中使用的三种方式
① 行内式
<button onlick="JS代码.."></button>
<div ondblclick="js代码.."></div>
② 内嵌式
<script>
JS代码...
</script>
注意:在 HTML 文件中写JS代码,建议将 script 标签放在其他元素后面,因为如果放在前面JS代码会阻塞 HTML代码的加载。
③ 外链式
在JS文件中直接写JS代码,在HTML文件中其他代码的后面用 script 标签链接JS文件
<script src="js文件的地址"></script>
注意:外链式与内嵌式要分别使用各自的 script 标签,不能写在一个 script 标签中。
2.2 JavaScript 注释
// 单行注释
/*
多行注释
多行注释
*/
2.3 JavaScript 语法特点
- 每条语句的后面需要指令结束符:分号或者换行。
- 严格区分大小写。
2.4 JavaScript 中输出内容
① 输出到弹框
alert(内容);
② 输出到控制台
console.log(内容)
输出到页面
document.write(内容)
3 变量
3.1 数据、直接量、变量
数据:运算的对象和结果。
直接量:直接使用的数据。
变量:给数据取个名字,通过使用其名字来使用该数据。
3.2 变量的意义
- 更简洁地表示复杂地数据
- 通过变量将数据存储于内存中,以保证每次使用的都是同一个数据
3.3 变量的语法
//声明变量
var 变量名;
//给变量赋值
变量名 = 值;
//声明变量并赋值,值可以为直接量也可以为变量
var 变量名 = 值;
//同时声明多个变量(简单写法)
var a = 100, b = 200, c = 300;
3.4 变量的命名规范
① 强制规范
变量名必须由英文字母、数字、下划线、$组成,且不能以数字开头。
-
变量名不能是关键字或保留字。
关键字: 在 JS 中具有特殊意义的词,如 var、if 、for 等等。
保留字: 将来有可能成为关键字的词。
② 建议规范
使用有意义的词命名
-
如果变量名由多个英文单词构成,建议使用小驼峰命名法。
小驼峰命名法:除了第一个单词,后面每个单词的首字母都大写。 如
homeAddress
、myHomeAddress
。
4 数据类型
4.1 数据类型的划分
① 原始类型
number 数值类型
string 字符串类型
boolean 布尔类型
undefined 未定义类型
null 空类型
②对象类型
Array 数组类型
Object 对象类型
Function 函数类型
...
4.2 判断数据类型
typeof(数据)
4.3 number 数值类型
① 整型
整数数字,有十进制表示法、八进制表示法、十六进制表示法。
892; // 10 进制表示法
065; // 8 进制表示 以0开头
0x8a; // 16 进制表示 以0x开头
② 浮点型
带小数点的数字。
123.34; // 浮点数
3.4e10; // 科学计数法表示的数字
注意: 浮点型数字的计算存在精度问题。
③ NaN
NaN 表示 Not A Number,是 number 类型的一个值。
判断一个数据是否是 NaN:使用函数 isNaN()
是则返回 true
,否则返回 false
。
④ JavaScript 中数字的有效范围
5e-324 ~ 1.7976931348623157e+308
如果数字超出有效范围,使用 Infinity
(正无穷) 和 -Infinity
(负无穷) 表示。
判断一个数字是否在有效范围内:使用函数 isFinite()
,在有效范围内返回 true
,不在有效范围内返回 false
。 不在有效范围内的数值有: Infinity
、-Infinity
、NaN
。
4.4 string 字符串类型
- 表示方法:单引号或双引号(单引号中不能嵌套单引号,双引号中不能嵌套双引号,除非用转义字符)
- 转义字符:
\n
换行,\'
单引号,\"
双引号,\\
反斜杠本身,\uxxxx
unicode编码(输出对应字符)
4.5 boolean 布尔类型
值:true
是,false
否
4.6 null和undefined类型
null:没有对象,即此处不应有值。可主动定义(eg.声明了变量不知赋何值,可先赋值null),也可以被动产生。
undefined:缺少值,应有值但没有定义。主要是被动产生(eg.声明了变量未赋值、使用了不存在的属性)