- 博客(15)
- 收藏
- 关注
原创 数据结构( List、Set、Map、Queue)
1. List 单列元素的集合,iterator遍历,有序,可重复。 1.增: public void add(int index, E ele) : 将元素ele添加到index位置。 2.删: public E remove(int index) : 移除列表中指定位置的元素, 返回的是被移除的元素。 3.改: public E set(int index, E ele...
2019-10-17 18:26:43
338
原创 数据结构(红黑树、散列表)
红黑树 红黑树是一种自平衡二叉树,当子树出现不平衡时候按照红黑规则进行自动平衡,最终保持树的平衡。始终平衡的二叉树,其查找添加效率最高。 二叉树转置 利用向左转和向右转可以保持子树的平衡 红黑树规则 节点是红色或黑色。 根是黑色。 所有叶子都是黑色(叶子是NIL(Null)节点)。 每个红色节点必须有两个黑色的子节点。(从每个叶子到根的所有路径上不能有两个连续的红色节点。) 从任一节点到其每个叶...
2019-09-30 17:22:15
415
原创 dva笔记
1. dva框架设计初衷 由于React主要是一个视图层框架,在解决参数和数据传递上面有很大的缺陷,只有父子组件之间才能直接传递数据。后来就出现了Redux ...
2019-09-10 22:18:34
440
原创 Redux原理
1. React工作原理与缺点 在React中,数据在组件中是单向流动的,数据从一个方向父组件流向子组件(通过props),所以,两个非父子组件之间通信就相对麻烦,redux的出现就是为了解决state里面的数据问题 2. Redux工作原理 Redux是将整个应用状态存储到一个地方上称为store,里面保存着一个状态树store tree,组件可以派发(dispatch)行为(action)给s...
2019-08-30 17:27:15
465
原创 UmiJS之路由
路由 umi 会根据pages目录自动生成路由配置。 约定式路由 基础路由 假设 pages 目录结构如下: + pages/ + users/ - index.js - list.js - index.js 那么,umi 会自动生成路由配置如下: [ { path: '/', component: './pages/index.js' }, { path: '/...
2019-08-16 17:27:02
8491
原创 ajax和axios以及fetch的区别
1.jQuery ajax $.ajax({ type: 'POST', url: url, data: data, dataType: dataType, success: function () {}, error: function () {} }); 传统 ajax 指的是 XMLHttpRequest(XHR), 最早出现的发送后端请求技术,隶属于原...
2019-08-09 18:38:28
457
原创 React核心之DOM
真实DOM与虚拟DOM: 创建一个真实的DOM底层需要调用一个application级别的API; 创建虚拟DOM就是生成一个JS对象,很简单。 第一版: state 数据 JXC 模板 数据+模板 结合,生成真实的DOM,来显示 state 发生改变 数据+模板 结合,生成真实的DOM,替换原始的DOM 缺陷: 第一次生成了一个完整的DOM片段 第二次生成了一个完整的DOM片段 第二次...
2019-08-02 11:50:09
242
转载 ECMAScript6语法入门笔记(四)
4 字符串的新增方法 4.1 String.fromCodePoint() ES5 提供String.fromCharCode()方法,用于从 Unicode 码点返回对应字符,但是这个方法不能识别码点大于0xFFFF的字符。 String.fromCharCode(0x20BB7) // "ஷ" 上面代码中,String.fromCharCode()不能识别大于0xFFFF的码点,所以0x20...
2019-07-10 09:48:17
205
转载 ECMAScript6语法入门笔记(三)
3 字符串的扩展 3.1 字符串的遍历器接口 ES6 为字符串添加了遍历器接口,使得字符串可以被for…of循环遍历。 for (let codePoint of 'foo') { console.log(codePoint) } // "f" // "o" // "o" 除了遍历字符串,这个遍历器最大的优点是可以识别大于0xFFFF的码点,传统的for循环无法识别这样的码点。 let te...
2019-07-10 09:46:44
324
转载 ECMAScript6语法入门笔记(二)
2 变量的解构赋值 2.1 数组的解构赋值 2.1.1 基本用法 ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为(Destructuring)。 //ES5为变量赋值 let a = 1; let b = 2; let c = 3; //ES6为变量赋值 let [a, b, c] = [1, 2, 3]; 上面代码表示,可以从数组中提取值,按照对应位置,对变量赋值。 ...
2019-07-10 09:45:57
182
转载 ECMAScript6语法入门笔记(一)
1 let 和 const 命令 1.1 ES6声明变量有六种方法: ES5 只有两种声明变量的方法:var命令和function命令,ES6 除了添加let和const命令,还有class命令和import命令。 let、const和class命令声明的全局变量,不属于顶层对象的属性。 例如: var a = 1; // 如果在 Node 的 REPL 环境,可以写成 global.a // 或...
2019-07-10 09:44:00
245
转载 ECMAScript6语法入门笔记
ES6声明变量有六种方法: ES5 只有两种声明变量的方法:var命令和function命令。 ES6 除了添加let和const命令,还有class命令和import命令。 let、const和class命令声明的全局变量,不属于顶层对象的属性。 例如: var a = 1; // 如果在 Node 的 REPL 环境,可以写成 global.a // 或者采用通用方法,写成 this.a wi...
2019-07-05 15:52:26
2200
原创 json和ajax基础
JSON:它是一种数据传输的格式,不是一种编程语言。 1.JSON里面的key都必须带双引号。 2.末尾没有分号 3同一个对象中不允许出现两个同名属性 例如: { "name":"sonia", "hobby":["sing","dance"], "work":{ "job":"web开发", ...
2019-07-05 13:40:29
256
原创 jQuery基础知识
一、创建对象的方式: 1.new var obj = new Object(); 2.字面量(对象字面量) 1)简单字面量: var obj2 = {}; obj2.name = “ben”; obj[‘age’] = 22; //区别:.是获取自身的属性<属性加引号>,[]可以是变量 obj2.todo = function(){ return this.name; } 2)嵌套字面...
2019-07-05 13:36:05
232
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅