一 . 数据类型
1. 基本类型
A. undefined 如果值未定义 Undefined
B. null 表示一个空对象指针 Object
C. boolean 表示boolean类型 true 和 false
D. number 表示数值类型 NaN不和任何值相等
E. string 表示字符类型 String
2. 引用类型
A. Object 对象 key-value组成的键值对
B. Array对象 数组对象
C. Function 函数
3. 变量
A. let 声明可变变量 作用域是代码块
B. const 声明不可变变量, 不可修改值
二. 方法大全
1. String字符串方法大全
1.1 字符串长度
str.length // 字符串长度
1.2 indexOf() 返回字符串中指定文本首次出现的索引
let index = str.indexOf('q'); // q首次出现的地方 如果没有返回 -1
1.3 lastIndexOf() 方法返回指定文本在字符串中最后一次出现的索引
let pos = str.lastIndexOf("q"); // q最后出现的地方 如果没有返回 -1
1.4 截取部分字符串
A. slice(start, end) //slice() 提取字符串并返回被提取的部分, 可以接受负索引
B. substring() 方法 // 与slice基本相同,不同的是不能接受负索引
C. substr() 方法 //substr() 类似于 slice(), 可设置提取长度
1.5 replace() 替换字符串, 返回新字符串, 默认只替换首个匹配
const newStr = str.replace("abc", "test");
1.6 字符串大小写转换
let newStr = str.toUpperCase() // 把字符串转换为大写 let newStr = str.toLowerCase() //把字符串转换为小写
1.7 concat() 字符串拼接
let text = "Hello".concat(" ","World!");
1.8 trim() 方法删除字符串两端的空白符
let str = " Hello World! "; str. trim();
1.9 split() 将字符串转换为数组
let str = "a,b,c,d,e"; str.split(','); //字符串转化为数组
2.Array 数组方法大全
2.1 数组操作 --> 新增元素
A. concat() 用于"连接"两个或多个数组; 不会改变原来的数组 ; 返回一个新的数组
B. push() 向数组的"末尾"添加一个或更多元素; 改变原数组;
C. unshift() 向数组的"开头"添加一个或更多元素; 改变原数组;
2.2 数组操作 -->移除元素
A. pop() 删除"最后一位",并返回删除的数据; 改变原数组
B.shift() 删除"第一位",并返回删除的数据; 改变原数组
C. splice() 删除"指定位置",并替换,返回删除的数据; 改变原数组
2.3 数组操作 --> 查数据
A. valueOf() 返回数组的原始值
B. indexOf() 查询指定数据的index , 如果没有就返回 -1; 从左到右
C. lastIndexOf() 查询指定数据的index , 如果没有就返回 -1; 从右到左
2.4 数组操作 --> 转换
A. join() 使用分隔符,数组 ---->字符串 返回字符串
B. toString() 直接转化 数组 ---->字符串 返回字符串 与没有分隔符的join()一样
2.5 数组遍历
A. forEach(value,index,self) 没有返回值 不能return/continue 不改变原数组
B. map(value,index,self) 返回新数组 可以return 不改变原数组
C. filter(value,index,self) 过滤数组 返回新数组 可以return 不改变原数 let a = arr.filter(function(value,index,self){ return value.length > 3; //返回前长度大于3的元素,组成新数组 })
D. every(value,index,self) 判断数组中每一项是否都满足条件,只有所 有项都满足条件,才会返回true, 有一项不满足条件都是返回flase 返回flase 后面不遍历
E. some(value,index,self) 判断数组中是否存在满足条件的项,只要有一项满足条件,就会返回true。
3. Object方法大全
3.1 属性方法
A.Object.keys() 遍历自身属性key列表
B .Object.values() value列表
3.2 Object类方法
A. 创建对象 Object.create(obj, {'属性名1':{属性说明1},'属性名2':{属性说明2}})
B. 添加一个数据属性 Object.defineProperty(obj, '属性名字', {属性描述})
属性描述:{
value: 101, //属性值
writable: true, //是否可以重写
enumerable: true, //会否可以枚举/遍历
configurable: true, // 是否可以修改以上配置项
}
C.copy对象 Object.assign( target, source, source1 ) 浅copy 拷贝源对象的值合并到目标对象
D. entries 分割对象 对象拆分数组
3.3 Object对象方法
hasOwnProperty() 方法会返回一个布尔值,指示对象自身属性中是否具有指定的属性