一.数组的遍历方法
1.forEach(遍历数组)
- 语法: 数组.forEach(function(item,index,origin){})
- 参数
- 数组实际每一项值
- 数组每一项对应的下标
- 原数组
- 作用: 遍历数组
- 返回值: 返回值是undefined 哪怕写了return也是undefined
2.map(映射数组)
- 语法: 数组.map(function(item,index,origin){})
- 参数
- 数组每一项实际的值
- 数组每一项实际值对应索引下标
- 原数组
- 作用: 映射数组
- 返回值: 返回一个和原数组长度一样的数组,返回的数组的每一个值.取决参数的return怎么写
3.fliter(过滤数组)
- 语法: 数组.fliter(function(item,index,origin){})
- 参数
- 数组每一项实际的值
- 数组每一项实际值对应索引下标
- 原数组
- 作用: 过滤数组
- 返回值: 过滤数组后的新数组,过滤参条件取决于参数return怎么写
4.find(查找数组数据)
- 语法: 数组.find(function(item,index,origin){})
- 参数
- 数组每一项实际的值
- 数组每一项实际值对应索引下标
- 原数组
- 作用: 查找数组
- 返回值: 在数组内找到第一个数据(不是数组)
5.findIndex(查找索引下标)
- 语法: 数组.findIndex(function(item,index,origin){})
- 参数
- 数组每一项实际的值
- 数组每一项实际值对应索引下标
- 原数组
- 作用: 查找数据第一次出现的索引下标
- 返回值: 在数组内查找第一次出现的索引下标
6.every(判断数组是否全部满足条件)
- 语法: 数组.every(function(item,index,origin){})
- 参数
- 数组第一项实际的值
- 数组第一项实际值对应索引下标
- 原数组
- 作用: 判断数组内数据是否全部满足条件
- 返回值: 一个布尔值
- true ==== 数组内数据全部满足条件
- false ==== 数组内起码有一个数据不符合条件
7.some(判断数组内一项满足条件)
- 语法: 数组.some(function(item,index,origin){})
- 参数
- 数组每一项实际的值
- 数组每一项实际值对应索引下标
- 原数组
- 作用: 判断数组内至少有一项满足条件的
- 返回值: 一个布尔值
- true ==== 表示数组内至少有一项满足条件
- false ==== 数组内数据全部都不满足条件
8.reduce(累加/叠加)
- 语法: 数组.reduce(function(prve,item,index,origin){},init)
- reduce方法的参数
- 如果传递第二个参数init,执行次数和数组长度相同
- 如果不传递第二个参数init,默认第一值为数组第一项的值,并且执行次数在数组长度上减1
- 参数1的函数中4个形参的含义
- 表示初始值或者数组第一项的值(具体是什么取决于是否传递 init)
- 数组每一项实际的值
- 数组每一项实际值对应索引下标
- 原数组
-
作用: 累加(叠加)
-
返回值: 循环运行结束后的到的值
二.严格模式:'use strict'
三.字符串
1.引号包裹的内容就是字符串
- 单引号:'' 双引号: "" 反引号就是字符串也叫做 模板字符串(ES6新增)
2.创建字符串方式
-
以前创建字符串方式都是通过字面量
// 1. 字面量 var str1 = 'hhhh' var str2 = "zzz" var str3 = `asd` console.log(str1) -
新的创建方式: 通过内置构造函数
// 2. 构造函数 // var str4 = new String() // console.log(str4) // var str5 = new String('qwe') // console.log(str5)3.包装类型
字符串在正常查询使用的时候,就是引号包裹起来的内容 但是如果想要使用字符串上的方法,js内部会先将字符串包装为一个字符串对象, 这个对象上有一些方法,使用完毕后,将字符串对象恢复为普通对象 4.字符集(把字符转为二进制数字存储起来)
4.1 :ASCII 可以叫 as key(128个)
• 4.2 :GBK 国标码(前128位as key 从129开始为汉字)
• 4.3 :Unicode(万国码)
• 前128位是as key ,从129开始是其他国家的编码
• 八位的十六进制编码(相对来说容量小,但是占用内存小)
• 十六位的十六进制编码(相对来说容量大,但是占用内存也大)
• 八位的十六进制编码 UTF-8
5.字符串的方法
1.charAt(查询指定下标的值)
- 语法: 字符串.charAt(索引)
- 作用:查询指定下标的值
- 返回值:查询的值,没有查询到就是一个空字符串
2.charCodeAt(查询指定下标的值对应的十进制码)
- 语法: 字符串.charCodeAt(索引)
- 作用:查询指定下标的值对应的十进制码
- 返回值:查询到的值对应的十进制码,没有查询到就是NaN
3.toLowerCase(将字符串转换成小写)
- 语法: 字符串.toLowerCase()
- 作用:将字符串转换成小写
- 返回值:转换后的字符
4.toUpperCase(将字符串转换成大写)
- 语法: 字符串.toUpperCase()
- 作用:将字符串转换成大写
- 返回值:转换后的字符
5.substr(截取指定字符串) //MDN说明这个方法将来某一天可能会删除,MDN推荐使用substring
- 语法: 字符串.substr(开始索引,多少个)
- 作用:截取指定字符串
- 返回值:截取到的字符串
6.substring(截取指定字符串)
- 语法: 字符串.substring(开始下标,结束下标)
- 参数: 结束下标不传,相当于写了length(包前不包后)
- 作用:截取指定字符串
- 返回值:截取到的字符串
7.slice(截取指定字符串)
-
语法: 字符串.slice(开始下标,结束下标)
-
参数: 结束下标不传,相当于写了length
- 结束下标不传,相当于写了length
- 开始下标不传,相当于写了0
- (包前不包后)
-
作用:截取指定字符串
-
返回值:截取到的字符串
8.concat(拼接)
- 语法: 字符串.concat(数据1,数据2,数据3)
- 作用:将字符串和参数传递的数据拼接
- 返回值:拼接后的字符串
9.indexOf(查询数据的位置)
- 语法: 字符串.indexOf(数据,开始下标)
- 作用:寻找数据在字符串中的位置
- 返回值:找到的时候返回下标,找不到返回-1
10.lastIndexOf(倒叙查找)
- 语法: 字符串.lastIndexOf(数据,开始下标)
- 作用:寻找数据在字符串中的出现位置(倒叙查找)
- 返回值:找到返回下标,找不到返回-1
11.split(分割)
- 语法: 字符串.split('符号')
- 参数: 如果传递的是空字符串,会将字符串全部分隔开
- 作用:在字符串中找到分隔符,将其分割,并放置到数组中
- 返回值:数组形式
12.trim(去掉字符串两侧空格)
- 语法: 字符串.trim()
- 作用:去掉字符串两侧的空格
- 返回值:将去掉空格的字符串返回
13.trimStart-----trimLeft()去掉左侧开始位置的空格
- 语法: 字符串.trimStart()
- 作用:去掉字符串左侧(开始位置)的空格
- 返回值:将去掉空格的字符串返回
14.trimEnd----trimRight()去掉右侧(结束位置)的空格
- 语法: 字符串.trimEnd()
- 作用:去掉字符串右侧(结束位置)的空格
- 返回值:将去掉空格的字符串返回
15.includes(判断当前字符串中是否拥有指定字符串片段)
- 语法: 字符串.includes('字符串片段')
- 作用:判断当前字符串中是否拥有指定字符串片段
- 返回值:true:是拥有; false:没有;
16.startWith(查询字符串开头是不是指定字符串片段)
- 语法: 字符串.startWith('字符串片段')
- 作用:查询字符串开始是不是指定的字符串片段
- 返回值:true:是开头; false: 不是开头
17.endsWith(查询字符串结尾是不是指定字符串)
- 语法: 字符串.endsWith('字符串片段')
- 作用:查询字符串结束是不是指定字符串片段
- 返回值:true:是结尾; false: 不是结尾
18.replace(替换)
- 语法: 字符串.replace('要被替换的字符,替换的字符')
- 作用:找到当前字符串中第一个参数对应的值,然后将其替换为第二个参数传入的数据
- 返回值:替换完成的字符串