ES6
变量声明
let 1.局部变量,只能在局部调用 2.不能重复声明 3.不会提升变量 console.log(a); let a;
除此之外还有一些声明符号:
const 1.声明一个常量 2.声明必须赋值 3.不能被修改 4.变量名建议大写,如: const PI = 3.14
变量类型
数据类型 1.数字: number 2.字符串: String 3.布尔类型: true 和 false 4.未定义: undefined
引用类型
引用类型 1.数组: array 2.对象: object 3.空: null
结构
数组 1默认
代码语言:javascript复制[a,b] = [100,900] 2交互变量 [a,b] = [b,a] 3.忽略 [a,b] = [1,3,5] 4.剩余值 [a,…rest] = [4,6,8,10] 5.默认值 [a,b=25] = [8] 6.复制(浅拷贝) var arr = [1,3,5] var arr2 = […arr]
对象
顺序结构:
代码语言:javascript复制var str = {name:‘苏苏未苏苏’,age:18,sex:‘男’} var {name,age}=str 剩余值: {name,…rest} = obj 默认值: {name = ‘哈喽’} = obj 复制: let obj2 = {…obj} 字符串 let [a,b,c,d] = “郑州奇酷” a 郑
字符串
ES5
重复使用repeat
去空格trim
str.trim()去除两端空格
str.trimLeft()去除左侧空格
str.trimRight()去除右侧空格
数组高阶方法
filter 过滤 返回一个新数组
如果返回true,当前元素被保留, 否则被过滤
代码语言:javascript复制forEach 遍历 遍历数组 map 映射 返回和原数据一一对应的新数组 reduce 累计 a,b两个参数,a是上一次返回的结果 every 判断条件,若都满足条件 返回true,否者返回false some 判断条件,若其中之一满足 条件,返回true,否则返回false
箭头函数
参数 => 函数体
=>前 函数的参数
=>后 函数的执行语句
var arr1 = ['我','爱','J','S'];
arr1.forEach(item=>console.log(item));
如果有多个参数,用()包起来
var arr = [1,2,3,4];
var ret = arr.reduce((a,b)=>a*2 b);
console.log(ret);
函数体只有一句,执行的结果就是返回值 多条语句用{}包裹,return返回 如果return对象: return({}) 箭头函数的this指向上一层作用域中的 this对象
默认参数
代码语言:javascript复制 当参数为undefined时,使用默认参数
不定参数
function add(...args){}
args 是一个由参数组成的数组
add(1,2) args = [1,2]
add(2,4,6) args = [2,4,6]
var arr = [1,2,3,4]
function add(a,b,c,d)
拓展参
代码语言:javascript复制 add(...arr)
调用函数把arr数组展开
填充 fill
var arr = [1,3,5,7];
arr.fill('love',2,4);
console.log(arr);
表示从下表2位置开始填充"love"至下表4位置 拷贝替换 copyWithin
代码语言:javascript复制var arr = [1,2,3,4,5,6,7]; arr.copyWithin(0,2,4); console.log(arr); 从下标2拷贝至下标4,得到 的值从下标0开始依次替换
查找 includes
子主题 1
查找 find
var arr2 = [2,7,10,100,50,255];
var ret = arr2.find(item=>item>=100);
console.log(ret);
找到一个合适的就返回,返回具体值 查找 findIndex 找到一个合适的就返回,返回下标
ES6
代码语言:javascript复制 遍历 for of
检测包含
包含 includes
开头 startsWith
结尾 endsWith
indexOf()查找字符串,从哪个下标开始
返回下标或-1 lastindexOf() 找到返回true,找不到返回false