var—->没有块级作用域(可以重复定义变量)
let—–>相当于局部变量
const—–>相当于常量
箭头函数:无法创建构造函数(不能new对象)
只有一个参数可以省略():const a=x=>x*x;
有多个参数或没有参数:①const a=()=>{};
②const a=(x,y)=>{return x*y}—–>只有一条语句时{}和return也可以省略
箭头函数声明json数据时需要加一个():const a=()=>({name:’张三’,age:’24’})
箭头函数this指向问题:普通函数this指向它的调用者,没有调用者指向window
箭头函数this指向箭头函数定义所处的对象(继承上一个this)
数组的高阶语法:
for循环遍历:for(let o of arrarys){}
过滤—->回调函数返回Boolean类型(true保留n,falase删除n):
arrays.filter(function(n){
return true/false
})
箭头函数写法:
arrays.filter(n=>true/false)
map方法:
const arrays1= arrays.map(n=>n)—–>代表将arrays中的值赋值给arrays1
reduce方法:相当于累加或者累乘操作函数
const arrays1=arrays.reduce((s,n)=>{return 返回值},0)
①第一次,s为第二个参数值(也就是0),n为数组的值
②第二次,s为上一次的返回值,n为第二次数组的值
③第三次,s为上一次的返回值,n为第三次遍历的数组值
Set集合:添加数据不可重复
const sets=new Set();
sets.add(1);//添加
sets.has(1);//判断是否有1
sets.delete(1);//删除1
sets.size();//长度
sets.clear();//清空
Map集合:
const maps=new Map();
maps.set(‘a’,a);//添加
maps.get(‘a’);//获取
maps.delete(‘a’);//删除
字符串方法:
判断以什么开头:startsWith()
以什么结尾:endsWith()
模板字符串:“
const name=”我的”
const str=`这是${name}一个模板字符串`;
解构赋值:左右两边的结构一样
let [a,b,c]=[1,2,3]
let {name,age}={name:’xiaozhu’,age:23}
三点扩展运算符:…
let arr1=[1,2,3]
let arr=[…arr1,4,5,6]
以上是将arr1数组展开后存到arr数组中
新增class的概念:和java一样,也可以使用继承extends
定义类:class Person{
constructor(){}//构造方法
fun(){};//普通方法
}
JSON中:key和value相同,可以简写
const name=”xiaozhu”;
const age=23;
const json={name,age,sex:’男’}
JSON.stringify()—->变字符串
JSON.parse()——->变json
模块化编程:
使用export关键字暴露;
使用import{add as mul}from “index.js”导入——>如果名字重复可以使用别名(关键字as)
缺省导出:export default function(){}———->不用定义名字(在导入的时候给它名字—一个模块中只能有一个缺省导出)
版权声明:本文为zjs123y原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。