react配置之浅谈
//复习 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配置之浅谈的更多相关文章
- Linux CentOS下MySQL的安装配置之浅谈
前期必备安装:VMware虚拟机,CentOS镜像[注意:Linux下使用CentOS MySQL是不用在官网下载的,只需要配置就OK了] 下面开始正式操作: //CentOS安装MySQL之浅谈 ...
- mysql配置优化浅谈(一)
MySQL对于web架构性能的影响最大,也是关键的核心部分.MySQL的设置是否合理优化,直接影响到web的速度和承载量!同时,MySQL也是优化难度最大的一个部分,不但需要理解一些MySQL专业知识 ...
- 浅谈配置chrome浏览器允许跨域操作的方法
浅谈配置chrome浏览器允许跨域操作的方法 一:(Lying人生感悟.可忽略) 最近有一天,对着镜子,发现满脸疲惫.脸色蜡黄.头发蓬松.眼神空洞,于是痛诉着说生活的不如意,工作没激情,工资不高,一个 ...
- MySql主从配置实践及其优势浅谈
MySql主从配置实践及其优势浅谈 1.增加两个MySQL,我将C:\xampp\mysql下的MYSQL复制了一份,放到D:\Mysql2\Mysql5.1 修改my.ini(linux下应该是my ...
- 浅谈React
浅谈react react是什么?其官网给出了明确定义:A JavaScript library for building user interfaces,一个用于构建用户界面的JavaScript库 ...
- 浅谈React数据流管理
引言:为什么数据流管理如此重要?react的核心思想就是:UI=render(data),data就是我们说的数据流,render是react提供的纯函数,所以用户界面的展示完全取决于数据层.这篇文章 ...
- 浅谈Kotlin(一):简介及Android Studio中配置
浅谈Kotlin(一):简介及Android Studio中配置 浅谈Kotlin(二):基本类型.基本语法.代码风格 浅谈Kotlin(三):类 浅谈Kotlin(四):控制流 前言: 今日新闻:谷 ...
- 浅谈Spring中的Quartz配置
浅谈Spring中的Quartz配置 2009-06-26 14:04 樊凯 博客园 字号:T | T Quartz是一个强大的企业级任务调度框架,Spring中继承并简化了Quartz,下面就看看在 ...
- 【转】浅谈React、Flux 与 Redux
本文转自<浅谈React.Flux 与 Redux>,转载请注明出处. React React 是一个 View 层的框架,用来渲染视图,它主要做几件事情: 组件化 利用 props 形成 ...
随机推荐
- beforeunload
<!DOCTYPE html> <html> <head> <title>BeforeUnload Event Example</title> ...
- 得到css style
//根据ID返回dom元素 2 var $ = function(id){return document.getElementById(id);} 3 //返回dom元素的当前某css值 4 var ...
- iOS 之 文件缓存
对于信息量不是太大的数据,可以使用文件缓存来处理.文件缓存可以缓存字典和数组. 步骤一:创建路径 路径要一级一级往下创建,基本不用考虑创建失败的情况.但是如果创建失败了要怎么做呢?按道理应该提示出来. ...
- Spring新下载地址
Spring官网改版后找了好久都没有找到直接下载Jar包的链接,下面汇总些网上提供的方法,亲测可用. 1.直接输入地址,改相应版本即可:http://repo.springsource.org/lib ...
- arm交叉编译器科普
交叉编译工具链的命名规则为:arch [-vendor] [-os] [-(gnu)eabi] arch - 体系架构,如ARM,MIPS vendor - 工具链提供商 os - 目标操作系统 ea ...
- WPF开发进阶 - Fody/PropertyChanged(二)
前一篇 简单的介绍了Fody/PropertyChanged的使用方法, 这一篇,我们详细介绍它的一些比较重要的特性和规则 1. Attributes 通过在类或属性上标记这些特性,可以在编译代码时, ...
- 源码(09) -- java.util.Arrays
java.util.Arrays 源码分析 ------------------------------------------------------------------------------ ...
- 如何增强ArcGIS插值图出图效果
如何增强ArcGIS插值图出图效果 by 李远祥 在一些科研领域,经常会遇到使用插值的方式进行处理,并生成最终的插值图.插值图在ArcGIS里面非常容易生成,只要具备了采用点数据,通过ArcToolB ...
- vs生成配置release自动恢复成debug无法配置的问题
软件为visual studio 2015,右键单个项目选属性,设置“生成配置”release,保存后,再次右键属性,却发现又自动恢复成debug,怎么回事?是无法配置吗?点击生成试试,果然2b了. ...
- Swift2.0 函数学习笔记
最近又有点忙,忙着找工作,忙着适应这个新环境.现在好了,上班两周周了,也适应过来了,又有时间安安静静的就行我们前面的学习了.今天这篇笔记,记录的就是函数的使用.下面这些代码基本上是理清楚了函数的额使用 ...