//复习 1 .块级作用域  let 和const  2 变量结构  默认值 一般往后写  rest参数(了解)  箭头函数(重要)(x,y)=>{} 3.map 存储高级键值对  4.set集合(去重)
//集合内不存在重复
//es5 es6
console.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 数据结构--map
let 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();  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!!!');
 });

//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

react配置之浅谈的更多相关文章

  1. Linux CentOS下MySQL的安装配置之浅谈

    前期必备安装:VMware虚拟机,CentOS镜像[注意:Linux下使用CentOS   MySQL是不用在官网下载的,只需要配置就OK了] 下面开始正式操作: //CentOS安装MySQL之浅谈 ...

  2. mysql配置优化浅谈(一)

    MySQL对于web架构性能的影响最大,也是关键的核心部分.MySQL的设置是否合理优化,直接影响到web的速度和承载量!同时,MySQL也是优化难度最大的一个部分,不但需要理解一些MySQL专业知识 ...

  3. 浅谈配置chrome浏览器允许跨域操作的方法

    浅谈配置chrome浏览器允许跨域操作的方法 一:(Lying人生感悟.可忽略) 最近有一天,对着镜子,发现满脸疲惫.脸色蜡黄.头发蓬松.眼神空洞,于是痛诉着说生活的不如意,工作没激情,工资不高,一个 ...

  4. MySql主从配置实践及其优势浅谈

    MySql主从配置实践及其优势浅谈 1.增加两个MySQL,我将C:\xampp\mysql下的MYSQL复制了一份,放到D:\Mysql2\Mysql5.1 修改my.ini(linux下应该是my ...

  5. 浅谈React

    浅谈react react是什么?其官网给出了明确定义:A JavaScript library for building user interfaces,一个用于构建用户界面的JavaScript库 ...

  6. 浅谈React数据流管理

    引言:为什么数据流管理如此重要?react的核心思想就是:UI=render(data),data就是我们说的数据流,render是react提供的纯函数,所以用户界面的展示完全取决于数据层.这篇文章 ...

  7. 浅谈Kotlin(一):简介及Android Studio中配置

    浅谈Kotlin(一):简介及Android Studio中配置 浅谈Kotlin(二):基本类型.基本语法.代码风格 浅谈Kotlin(三):类 浅谈Kotlin(四):控制流 前言: 今日新闻:谷 ...

  8. 浅谈Spring中的Quartz配置

    浅谈Spring中的Quartz配置 2009-06-26 14:04 樊凯 博客园 字号:T | T Quartz是一个强大的企业级任务调度框架,Spring中继承并简化了Quartz,下面就看看在 ...

  9. 【转】浅谈React、Flux 与 Redux

    本文转自<浅谈React.Flux 与 Redux>,转载请注明出处. React React 是一个 View 层的框架,用来渲染视图,它主要做几件事情: 组件化 利用 props 形成 ...

随机推荐

  1. 使用UTF8-CPP转换unicode编码 附录:UTF8和UTF16和UTF32和Unicode编码

    本文用于解决如何用C++处理字符串的编码格式.本文采用的是成熟便捷的UTF8库来处理这个问题.首先是下载UTF8库,网址为:http://utfcpp.sourceforge.net/ 为了方便后续使 ...

  2. OD提示 "为了执行系统不支持的动作, OllyICE 在这个被调试的程序中注入了一点代码, 但是经过5秒仍未收到响应..." 解决办法

    别的OD就可以,我自己整合过的一个很顺手的OD就是不行,最后找到了解决办法: 转自:http://bbs.pediy.com/showthread.PHP?t=97629 -------------- ...

  3. Python3基础 global关键字 使函数的局部变量升格为全局变量

    镇场诗: 诚听如来语,顿舍世间名与利.愿做地藏徒,广演是经阎浮提. 愿尽吾所学,成就一良心博客.愿诸后来人,重现智慧清净体.-------------------------------------- ...

  4. java中Integer比较需要注意的问题

    java中Integer比较需要注意的问题 package com.srie.test; import java.util.HashMap; import java.util.Map; public ...

  5. c#中Partial关键字的作用

    1. 什么是局部类型? C# 2.0 引入了局部类型的概念.局部类型允许我们将一个类.结构或接口分成几个部分,分别实现在几个不同的.cs文件中. 局部类型适用于以下情况: (1) 类型特别大,不宜放在 ...

  6. ServletConfig、ServletContext属性遍历

    可以进行属性遍历: package com.stono.servlet; import java.io.IOException; import java.util.Enumeration; impor ...

  7. SQL2008实现数据库自动定时备份——维护计划

    在SQL Server中出于数据安全的考虑,所以需要定期的备份数据库.而备份数据库一般又是在凌晨时间基本没有数据库操作的时候进行,所以我们不可能要求管理员 每天守到晚上1点去备份数据库.要实现数据库的 ...

  8. 深入React事件系统(React点击空白部分隐藏弹出层;React阻止事件冒泡失效)

    只关注括号内问题的同学,可直接跳转到蓝字部分.(标题起的有点大,其实只讨论一个问题) 两个在React组件上绑定的事件,产生冲突后,使用e.stopPropagation(),阻止冒泡,即可防止事件冲 ...

  9. 为 Jenkins 配置 .Net 持续集成环境

    去年年底,得益于公司引入 Jenkins,让我们在持续集成方面迈出了第一步,本文不赘述如何安装 Jenkins,主要关注点在于配置 .Net 环境.另外本文是在 Windows 环境下安装的 Jenk ...

  10. ubuntu服务器远程连接xshell,putty,xftp的简单使用教程

    当你自己千辛万苦终于搞到一个服务器(ubuntu(linux)系统的)之后,却不知道怎么进行时,xshell,putty,xftp是个很不错的选择 xshell和xftp是win下访问ubuntu(l ...