//复习 1 .块级作用域 let 和const 2 变量结构 默认值 一般往后写 rest参数(了解) 箭头函数(重要)(x,y)=>{} 3.map 存储高级键值对 4.set集合(去重)//集合内不存在重复//es5 es6console.log('----------------start----------------');//1.块级作用域//{// let a;//}// let 和 const 命令// var声明变量放弃使用//let 声明变量(node.js)var a = 1;{ var a = 2; var b = 4; console.log(a);}console.log(a);let f = 1;{ let f = 2; let g = 4;}console.log(f);//等号左右结构一致可以赋值let[a1,a2,a3]=[1,2,3];console.log(a1+"---"+a2+"---"+a3);const 声明常量const c=5;console.log(c);let person={ name:'guodongsheng', age:'21'};let{name,age}=person;console.log("姓名:"+name+'年龄:'+age);4 函数扩展 给函数加默认值怎么样给x设置一个默认值function test1(x=1) { console.log(x);} test1(); test1(100);函数参数的个数不确定 如何初始化function addNumbers(...values) { let sum = 0; for (let v of values) { sun += v; } return sum;}console.log(addNumbers(1,2,3));console.log(addNumbers(1,2,3,4));4.1 箭头函数let func=(x,y) => { return x + y;}function comPute(x,y,f) { return f(x,y);}//let s=comPute(1,3, (x, y) => { return x + y; })let s=comPute(1,3,func)console.log(s);5 数据结构--maplet m = new Map();//键值对 存储键值对let person={ name:'guodongsheng', age:'21'};// map和js对象都是存储键值对 但js对象的key只能是string 但map对象的key可以是任意let teacher={ name:'xuying', tel:'2222'}m.set(person,teacher);console.log(m);集合 没有重复 没有顺序let s = new Set();s.add(1);s.add(1);s.add(2);s.add(2);console.log(s);//6 class 属性 方法 //属性不需要定义直接使用 //方法需要声明class student{ // 构造函数 constructor 当对象创建的时候 自动调用 constructor constructor constructor constructor() { //1 调用父类的constructor 如果有父类 super(); //2设置属性初始值 this.name='';//什么都不写为空 不分配的话是undefined //3 绑定自身函数 this.SayHello=this.SayHello.bind(this); } SayHello(){ console.log('my name is '+this.name); };}let s =new student();s.name="guodongsheng";//属性不需要定义s.SayHello();console.log(s.name);// 7.继承关系 extends class xiaoming extends student//类{ constructor() { //1 调用父类的constructor 如果有父类 super(); super(); //2设置属性初始值 this.name='xiaomingxiaoming!!!';//什么都不写为空 不分配的话是undefined //3 绑定自身函数 this.SayHello=this.SayHello.bind(this); } //开启异步 start(callback){ this.callback=callback; setTimeout(this.end.bind(this)); } end(){ console.log('end'); if(this.callback) { this.callback(); } }} let t=new xiaoming(); t.start(()=>{ console.log('finish'); }); //箭头函数//创建对象let t =new xiaoming();//t.name='xiaoming';t.age=18;t.SayHello();//8.异步操作 callback(); Promiseclass DoTaskPromise{ start(){ console.log('Promise start'); let promise=new Promise((resolev,reject)=>{ setTimeout(()=>{ resolev(); },20000) }) return promise; };}let u=new DoTaskPromise(); u.start().then(()=>{ console.log('Promise end');});class DoTask{ //开启异步 start(callback){ console.log('callback start!!!'); this.callback=callback; setTimeout(this.end.bind(this),10000); } end(){ console.log('callback end!!!'); if(this.callback) { this.callback(); } }} let v=new DoTask(); v.start(()=>{ console.log('callback finish!!!'); });
//8.异步操作 callback(); Promise class DoTaskPromise { start(){ console.log(‘Promise start’); let promise=new Promise((resolev,reject)=>{ setTimeout(()=>{ resolev(); },20000) }) return promise; }; } let u=new DoTaskPromise(); u.start().then(()=>{ console.log(‘Promise end’); }); class DoTask { //开启异步 start(callback){ console.log(‘callback start!!!’); this.callback=callback; setTimeout(this.end.bind(this),10000); } end(){ console.log(‘callback end!!!’); if(this.callback) { this.callback(); } } } let v=new DoTask(); v.start(()=>{ console.log(‘callback finish!!!’); });
本人第一次写博客,以上内容全来自己手写,如果想交流可以加入:石家庄ReactNative交流群 526955818