自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(65)
  • 收藏
  • 关注

转载 React Hooks 实现react-redux

Redux 是目前 React 系统中最常用的数据管理工具,它落实并发扬了 Flux 的数据单向流动模式,被实践证明为一种成熟可用的模式。尽管承受着一些非议,Redux 在 React 数据管理界的地位仍然没有被取代。我听到的针对 Redux 最多的非议是它需要遵守的规则和步骤太多,让人们觉得束手束脚。然而个人觉得这正是 Redux 的意思所在,项目大了,如果整体数据流动不遵守规则,...

2019-09-16 15:28:00 138

转载 React源码解析——ReactAPI

一、API背景api的具体转化关系可以通过到https://babeljs.io/repl/网站去将我们创建的Jsx进行实时的转译const React = { Children: { map, forEach, count, toArray, only, }, createRef,...

2019-08-25 12:23:00 204

转载 WebPack系列之Proxy

背景当我们直接去访问https://m.weibo.cn/api/config/list时由于端口、域名的不同产生了跨域,无法请求到资源数据.分析WebPack中devServer的proxy代理其实是集成了http-proxy-middlewarevar express = require('express');var proxy = require(...

2018-08-15 23:43:00 355

转载 通过ES6写法去对Redux部分源码解读

在Redux源码中主要有四个文件createStore,applyMiddleware,bindActionCreators,combineRedurescreateStore.jsexport default function createStore(reducer, preloadedState, enhancer),其中reducer函数是用来计算规则,preloadedS...

2018-07-07 00:47:00 91

转载 闲谈Hybrid

前言当经常需要更换样式,产品迭代,那么我们应该考虑hybrid混合开发,上层使用Html&Css&JS做业务开发,底层透明化、上层多多样化,这种场景非常有利于前端介入,非常适合业务快速迭代.webviewapp有时需要去替换我们app的html、css……,文件非常多,需要我们在app启动的时候从服务器下载zip包,解压,这过程当然也需要进行版本管理,下载前可...

2018-06-26 13:32:00 109

转载 浅谈React、Vue 部分异步

React中的setStatesetState为什么需要异步?无法限制何时使用异步,多次连续使用setState防止多次渲染,异步rendering不仅仅是性能上的优化,而且这可能是react组件模型在发生的根本性的改变this.setState({ inputTxt:''})console.log(this.state.inputTxt);...

2018-06-25 23:05:00 61

转载 浅谈React和VDom关系

组件化组件的封装组件的复用组件的封装视图数据视图和数据之间的变化逻辑import React, {Component} from 'react';export default class List extends Component{ constructor(props){ super(props);...

2018-06-25 20:57:00 115

转载 浅析Vue原理(部分源码解析)

响应式Object.definePropertyObject.defineProperty(obj, prop, descriptor) // 对象、属性、描述符  Object.defineProperty是es5新加的给对象属性设置描述符的方法,可以用来监听属性值的变化 var obj ={}; var _name ='张三' O...

2018-06-24 23:16:00 77

转载 浅谈Jquery和常用框架Vue变化

区别Vue数据与视图的分离Vue数据驱动视图Jquery 简单示例:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>jquery</title></head&g...

2018-06-24 22:08:00 66

转载 浅谈 Virtual DOM 的那些事

背景我们都知道频繁的dom给我们带来的代价是昂贵的,例如我们有时候需要去更新Table 的部分数据,必须去重新重绘表格,这代价实在是太大了,相比于频繁的手动去操作dom而带来性能问题,vdom很好的将dom做了一层映射关系,进而将在我们本需要直接进行dom的一系列操作,映射到了操作vdom.  <!DOCTYPE html><html lang="e...

2018-06-24 12:11:00 60

转载 变量作用域与解构赋值

变量作用域由于JavaScript的函数可以嵌套,此时,内部函数可以访问外部函数定义的变量,如果内部函数定义的变量和外部函数定义的变量相同,则内部函数的变量将“屏蔽”外部函数的变量变量提升function foo() { var x = 'Hello, ' + y; console.log(x); var y = 'siry';}...

2018-06-22 23:31:00 55

转载 浅谈ES6基础——Promise

IMAGE加载Callback Hellfunction loadImg(src,callback,fail) {var img = document.createElement('img');img.onload = function() {callback(img)}img.onerror = function() {fail();}i...

2018-06-22 23:13:00 9342

转载 ES6模块化

前言语法:import export (注意有无default)环境:babel编译ES6语法,模块化可用webpack 和rollupES6 Class本身是个语法糖,实际系统默认帮我们转成JS的构造函数JS构造函数方式:class Hello(x,y){this.x=x;this.y=y;}Hello.protoype.add=fu...

2018-06-22 22:37:00 55

转载 JS基础——浅谈前端页面渲染和性能优化

加载html中的静态资源其中,加载静态资源的过程,一般为浏览器根据DNS服务器得到域名的IP地址,然后向这个IP的机器发送http请求,服务器收到、处理并返回http请求,浏览器得到返回http请求.浏览器渲染页面的过程根据HTML 结构生成DOM Tree根据CSS 生成 CSSOM将DOM和CSSOM结合生成RenderTree浏览器根据RenderT...

2018-06-22 13:47:00 253

转载 JS模块化知识总结

背景<script src="a.js"></script><script src="b.js"></script><script src="c.js"></script> ...........js 文件之间相互依赖,变量会造成全局的污染,而且js之间的依赖顺序也会容易出错,容易造...

2018-06-22 10:23:00 63

转载 JS基础——事件操作总结

通用事件绑定function bindEvent(elem,type,fn) {  elem.addEventListener(type,fn);}let a =document.getElementById('a');bindEvent(a,'click',function(e){  e.preventDefault() //阻止浏览器默认行为,防...

2018-06-21 22:25:00 85

转载 对象API

遍历对象里的每个元素var obj ={  a:32,  b:12, c :342 }for (const key of obj){ if(obj.hasOwnProperty(key)){ console.log(key,obj[key]); } }   转载于:h...

2018-06-21 15:24:00 50

转载 JS基础——数组API之数组操作(filter、map、some、every、sort)

var arr = [1,2,3,4];forEacharr.forEach((item,index,arr) => { console.log(item) //结果为1,2,3,4})filter//filter过滤掉数组中不满足条件的值,返回一个新数组,不改变原数组的值。var c=arr.filt...

2018-06-21 14:25:00 85

转载 Generator(生成器)

序言generator(生成器)是ES6引入的一种新的标准,可以用于处理异步请求,将异步回调的方式已同步的方式展示。generator和函数不同的是,generator由function*定义(注意多出的*号),并且,除了return语句,还可以用yield返回多次。关于Generator的斐波那契数列function fit(max) {var a...

2018-06-21 13:10:00 107

转载 浏览器

背景IE 6~11:到IE10支持ES6Chrome: 基于Webkit内核的V8 JavaScript搜索引擎Safari: OS X 10.7 Lion自带的6.1版本开始支持ES6,目前最新的OS X 10.11 El Capitan自带的Safari版本是9.x,早已支持ES6Firefox: Mozilla自己研制的Gecko内核和JavaScript引擎...

2018-06-21 13:06:00 89

转载 JS动画与CSS3动画

Js动画show / hidevar div = $('#test-show-hide'); div.show('slow'); // 在0.6秒钟内逐渐显示div.hide(3000); // 在3秒钟内逐渐消失slideUp / slideDown垂直下拉,提前div.slideUp(3000); // 在3秒钟内逐渐向上消失div...

2018-06-21 13:03:00 59

转载 浅谈JS异步轮询和单线程机制

单线程特点执行异步操作  js是单线程语言,浏览器只分配给js一个主线程,用来执行任务(函数),但一次只能执行一个任务,这些任务就会排队形成一个任务队列排队等候执行.一般而已,相对耗时的操作是要通过异步来进行加载,可以避免导致页面的假死.setTimeout(function(){ console.log(这是timeout事件回调);},1000);...

2018-06-21 12:23:00 92

转载 JS基础——JavaScript原型和原型链及实际应用

构造函数function Stu(name,age){this.name=name;this.age=age;}instanceof 查看引用类型对象是属于哪个构造函数的方法,通过__proto__ 一直往上找prototype,直到找到Object原型规则和示例所有的引用类型(数组/对象/函数)都可有扩展属性,都有一个隐式原型__proto_...

2018-06-21 00:23:00 407

转载 浅谈JS作用域和闭包

函数表达式和函数声明变量/函数声明都会提前console.log(a)let a =1那么打印出来的a为 undefined,因为会将a提到前面并赋予默认值undefined函数声明:函数声明会将函数提到调用函数变量的前面fn('里斯')//不会报错function fn(name) {console.log();}...

2018-06-20 22:10:00 68

转载 Restful接口规范

模型表示(Representations)消息(Messages)URIs一致接口(Uniform interface)无状态(Stateless)资源之间的链接(Links between resources)缓存(Caching)Restful 接口的 幂等性 :对同一Restful接口的访问,得到的资源状态是相同的。安全性: 对该restfu...

2018-06-20 21:23:00 116

转载 Fetch 头像剪切修改

前言:通过Input file upload 图片到canvas 中进行剪裁,react 可以引入react-avatar-editor对图片进行剪裁react-avatar-editor的使用 <AvatarEditor ref={(editor) => { this.editor = editor; }} image...

2018-06-20 21:20:00 54

转载 React通过dva-model-extend实现 dva 动态生成 model

前言实现通过单个component 单个router通过相应的标识对应产生不同model实现数据包分离,model namespce将会覆盖基础的Model,其中的model[state|subscriptions|effects|reducers] 将通过Object.assign进行复制( Object.assign({},obj,obj1) )将源对象里面的属性添加到目标对...

2018-05-25 17:42:00 1509

转载 在ubuntu中docker的简单使用(一)

>>docker version  当运行docker version 命令出现Cannot connect to Docker daemon. Is the docker daemon runing on this host,说明docker 服务未启动,需要启动docker服务>> su root #切换到root用户>&...

2018-02-01 16:46:00 69

转载 网络常见状态码

200 请求被成功处理301/302 永久性重定向/临时性重定向403 没有权限访问404 没有对应的资源500 服务器错误503 服务器停机或正在维护511 要求网络认证 当我们有时候访问公共网络时,需要我们先进行认证才能进行登录返回,即需要我们输入相关的信息进行认证才能进行返回转载于:https://www.cnblogs.com/fuGuy/...

2017-12-17 11:38:00 68

转载 Session和cookic

session是无状态的方式,服务器存储机制,当用户第一次请求服务器,服务器会给客户分配一个标识id,客户端再次访问服务器,根据session id 去访问服务器数据库,返回信息,同时session id 也是有过期时间。cookIc是一种有状态的请求,同时也是本地存储机制,当用户第一次请求服务器,服务器会给客户分配一个标识id和信息,客户端再次访问服务器,会携带相关信息...

2017-12-17 11:27:00 82

转载 Python 字符串操作

基础操作字符串如下:In [10]: sStr="Action {speak}\t louder than {words}"首字母大写In [12]: print(sStr.capitalize())Action {speak} louder than {words}查找字符,下标从 0 开始:In [13]: print(...

2017-12-12 09:28:00 54

转载 正则贪婪与非贪婪模式简单实现

  正则模式根据特殊字符组成,可以在一长串字符串中获取匹配我们想要的数据line = "bobby123"regex_str = "^b.*3$"#^以b字符开头,3结尾if re.match(regex_str, line): print("yes")else: print("no")  贪婪模式想着尽可能多地去匹配满足自身条件...

2017-12-09 21:27:00 60

转载 Python 初始—(项目 目录结构)

在os 包下,给出import os ,os.path.abspath(__file__)获取当前文件的相对路径,os.path.dirname 获取当前文件所在的文件夹目录print(os.path.dirname(os.path.abspath(__file__)))然后添加系统环境变量,sys.path.append(文件夹路径),当然在使用前先导入import ...

2017-12-04 23:39:00 120

转载 Python 初始—(迭代器和生成器)

生成器也是一个迭代器,通过next()函数实现按需计算下一个数据列表生成器,使代码变得更加简洁,只记录当前的位置,只有__next__(),(i*2 for i in range(10))生成器(generator) 1 def gene(time): 2 a, b = 0, 1 3 n = 0 4 while n < time:...

2017-12-03 19:22:00 93

转载 Python 初始—(装饰器)

本质上也是函数的另一种表现形式,为其它函数丰富其功能,装饰其他函数,附加功能在不改变被装饰的函数的源代码,而且不改变被装饰的函数的调用方式,因此被装饰的函数感知不到装饰器函数的存在分解装饰器函数即变量高阶函数嵌套函数函數从上往下依次执行,函数会在内存中创建,当函数未创建,当引用时,在内存中找不到,会出错!!其中这个函数被引用时,则也是引用这个函...

2017-12-02 16:34:00 64

转载 Python 初始—(高阶函数)

变量可以指向函数,函数的参数能接收变量,将函数通过参数进行传递def SetAbs(a,b,abs){ return abs(a)+abs(b)}转载于:https://www.cnblogs.com/fuGuy/p/7944866.html...

2017-12-01 23:28:00 48

转载 ionic 命令cordova

安装android platform : ionic platform add android安装一维码cordova插件 :cordova plugin add https://github.com/wildabeast/BarcodeScanner.git生成apk: ionic build android指定搭建相应的android的平台 cordova plat...

2017-11-30 23:02:00 59

转载 Python 初始—(函数·)

过程是没有返回值的函数,有一系列的函数组合和逻辑功能结合即为过程:def 定义函数: def 函数名():    print("")位置参数和关键字调用,根据位置参数优先,关键字参数不能写在位置参数前面 def 函数名(x,y="a"):    print("")y属于默认参数,调用函数的时候,默认参数可有可无*args 接收位置参数,以元...

2017-11-30 01:15:00 45

转载 Python 初始—(字符编码解码)

字符编码之间的编码转换则需要通过Unicode 进行转换,那么需要一个编码和解码实现与Unicode进行关联转换例如utf-8转gbkutf-8----decode----->Unicode---- encode------>gbksys.getdefaultencoding()#默认编码str.decode("utf-8").encode("gbk")转...

2017-11-29 00:33:00 59

转载 RequireJs学习

require会定义三个变量:define,require,requirejs,其中require === requirejs,其中Define是api的一个模块Require.config用来配置模块加载的位置,require.config({paths : { "jquery" : ["http://libs.baidu.com/jquery/2.0.3/jqu...

2017-11-28 23:40:00 54

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除