1、组成:ECMAScript语法、BOM、DOM
2、js原理
渲染引擎:解析HTML和CSS,俗称浏览器的“内核”
js引擎:称为js解析器,用来运行js语言
3、位置:script标签中、页面的标签中、单独的js文件
1、基本类型:Number、Bigint、String、Boolean、null、undefined、symbol
2、引用类型:Object
3、typeof运算符:返回变量的数据类型
4、类型转换
(1)字符串转换
调用String(变量)函数
alert(value);将value转换为字符串类型,然后显示
(2)数字转换:调用Number()函数
(3)布尔转换:调用Boolean()函数
交互:alert()、prompt('提示信息', [默认值])、confirm('提示信息')
1、算数运算符:+、- 、 *、 /、 %(取余)、**(幂)
2、赋值运算符:=
3、复合赋值运算符:+=、 -=、 *=、 /=、 %=
4、自增、自减 :++ --
5、关系运算符:>、<、>=、<=、!=、==、===(严格等)、!==(严格不等)
1、if结构
2、三元运算符:格式:(条件表达式) ? 表达式1 : 表达式2;
3、逻辑运算符: &&(与) ||(或) !(非) ??(空值合并)
4、switch:等值判断的多选其一结构
5、while循环:先判断,再执行
6、do while:先执行,再判断
1、声明数组:使用数组字面量:[ ]、Array对象
2、数组的属性:length 表示数组元素的个数(数组的单元个数
3、数组元素的索引:从0开始到数组的单元个数减1
4、数组元素的访问:数组名[索引]
5、遍历数组
(1)使用for循环遍历
(2)使用for...in循环
(3)使用for...of循环
(4)forEach循环遍历
(5)使用map函数遍历数组:实际是对数组的过滤。返回一个新的数组,原数组不变
6、数组的排序:冒泡排序、选择法排序
7、数组常用方法:
join(连接字符)将数组中的元素通过给定的连接字符连成一个字符串
push(值/变量)末尾向数组添加元素
pop():从数组的末尾删除元素
shift():从数组的首部删除元素
unshift(值/变量):从数组的首部插入元素
sort():排序函数。默认的是从小到大
reverse():将数组元素颠倒顺序
concat():连接两个或多个数组
slice():切片函数
splice():可以实现对数组元素的插入、删除和替换
indexOf(元素):从左向右查找元素的位置。返回元素在数组中的下标(索引),返回-1表示没有找到
lastIndexOf(元素):从右向左查找元素的位置。返回元素在数组中的下标(索引),返回-1表示没有找到
filter
fill(值/变量):用给定的值或变量填充数组
every(function(value) { // 判断数组中每一项都是否满足条件,只有所有项都满足条件,才会返回 true
includes() :判断一个数组中是否包含一个指定的值
定义:
1、通过字面量:[ ]、使用Array对象
2、输出:采用循环嵌套
1、函数的定义
function 函数名(【参数】]){
函数体语句
}
2、函数的参数
形参:形式参数,是在函数定义时出现在函数首部的参数。形参没有实际值,只是一个占位符
实参:实在参数。是函数调用时出现在函数首部的参数,实参表示的是一个实际值
3、arguments对象:内置对象
作用:调用函数时,函数的实参都保存在arguments对象中
4、函数表达式
定义:var / let / const 变量名 = function(【参数】){函数体语句}
调用:变量名(【参数】)
5、函数的递归调用
递归调用:函数自己调用自己
1、对象是一种数据类型(复合数据类型),对象中包含了属性和方法
2、创建
(1)字面量:let / var / const 对象名 = { }
(2)通过Object来创建对象:new Object()
(3)构造函数创建对象
function 构造函数名(【参数】){this.属性名 = 属性值this.方法名 = function(【参数】){方法体语句} }
通过构造方法创建对象:new 构造方法名(【参数】)
对象使用属性和方法:
对象名.属性
对象名.方法名(【参数】)
this代表的是由构造方法创建的对象
3、遍历对象的属性和方法:使用for...in循环
4、in运算符:判断对象中是否存在某个属性或方法
5、对象数组:数组中存放的是对象(数组中的每个元素都是对象)
1、Math对象
2、Date对象
3、String对象:字符串。用单引号('')或双引号("")括起来的字符序列