5 欲乘风

尚未进行身份认证

暂无相关描述

等级
TA的排名 8w+

搭建react16+react-router5+redux+saga的react开发环境

自建react开发环境react16+react-router5+redux+saga以下只简要介绍下需要做哪些内容,具体怎么配置就不写了初始化yarninit-y安装webpack4–可以用webpack命令愉快打包项目yarnaddwebpackwebpack-cli-D写webpack.cofing.js配置文件安装webpack-de...

2019-07-10 00:20:02

redux没有魔法

redux状态管理真得没有任何魔法redux本身没有难度,很清晰第一个难点在于和react集成,也不是难,主要是很多人搞不清楚react-redux和redux的关系异步请求本身有些难点,主要是因为很多人搞不清楚ES6的语法,也不知道中间件的概念,或者更甚都不知道异步。弄清楚基本概念和react没有半毛钱关系直接写在html都行文本对象action纯函数reducersto...

2019-07-10 00:18:16

JQuery1.12.4实现的基本原理

参考1.12.4版本的JQuery写了个基本实现原理:不得不说JQuery对原型的应用很巧妙。首先讲清楚JQuery的设计目标:用更简单的方式操作DOM 处理浏览器兼容性问题兼容性不讲,主要是各种ifelse判断,纯属工作量问题。那么JQuery到底是如何实现简单操作DOM的呢?先来看看,JQuery是如何使用的:JQuery是一个函数,调用JQuery函数返回JQuer...

2019-06-26 23:30:42

经典排序

最终实现的效果如下:代码在后面贴出,就只有一个html,直接在浏览器运行代码如下:<!DOCTYPEhtml><html> <head> <title>经典排序算法</title> <metacharset="utf-8"> <style> .show{ d...

2019-06-26 17:21:01

简单的函数柯里化

functionadd(a,b,c,d){ console.log(a,b,c,d) console.log(a+b+c+d) } functioncreateCurry(fn){ constargs=[].slice.apply(arguments).slice(1) constargsLen=fn...

2019-06-21 19:44:20

带你翻越JS三座大山之一的原型,原型链和继承

JS和Java一样都是面向对象的语言,不同之处在于采取的实现方式不一样,Java采用了基于Class的方式而被人们熟知 JS选用的基于原型的方式就没那么出名了面向对象的三个基本特征是封装,继承,多态。而其目的就是为了实现代码复用。那么基于原型的面向对象如何实现代码复用呢?首先要知道两点:JS的函数都有一个prototype属性指向一个对象,这个对象就是原型对象 JS的对象都有一...

2019-06-21 00:38:28

如何遍历DOM树?数组怎么压缩?

functiontraverse(node){ varresult=[]; varnodes=[].slice.apply(node.childNodes); for(leti=0;i<nodes.length;i++){ letn=nodes[i]; if(n.nodeType===1){//元素节点 ...

2019-03-28 17:42:58

浏览器缓存

浏览器缓存对于用户来说是个好东西,但是在开发过程中就比较烦了,如果不注意,很容易就让浏览器走了缓存,让自己误以为自己的代码没起作用。所以对于一个合格的前端开发来说,有必要掌握浏览器的缓存机制,减少开发过程中采坑的可能性。我还是一如既往的实践派,先用express做一个简单的服务器来看看效果。constexpress=require('express');constapp=...

2019-03-27 19:33:14

React梳理

转自:https://www.zhihu.com/question/47686258/answer/107209140虽然原作者的废话挺多的,但是耐心看下去,还是很有收获的。一、引子这是关于一把玄铁重剑,一本经书,和一套轻功步法的故事。让我们先从普通程序猿们的日常工作内容说起,一般来说,程序猿们大部分时间关注的可能不是研发某个具体算法,这是算法工程师/数学家们擅长的东东。程...

2019-03-26 18:58:14

@babel/polyfill的使用

@babel/polyfill使用的坑还是比较多的:最需要理解的是,babel只会转换E6语法,而不会转换新的api,让新的api生效的方法是使用传统的polyfill,为此需要引入这个模块 安装的时候必须用--save保证引用到生产环境而不是开发环境,当然,弄错了,自己手动在package.json中修改也是可以的。 浏览器环境下使用,用script标签引用模块下的polyfill....

2019-03-26 09:22:14

利用h5 canvas画布操作图片

canvs画布可以直接获取到图像数据,从而进行图像操作,原理很简单,但是实现起来还是会有很多坑。1.本地图片的协议为file://且域名为空,因此在canvs中获取getImageData时会出现跨域问题解决方法:讲图片和网页都放到同一个服务器上即可。可以自己用springboot快速搭建一个服务器。不过最简单的还是用nginx做一个静态资源服务器。2.想要动态改变canvas画布,...

2019-03-23 10:08:56

一文完全理解JS原型链,实现完美继承

全文没有废话,需字斟句酌需要理解的两个重要概念原型链只是js搜索对象属性的机制,和继承没有本质上的关系,你需要先掌握js是如何在原型链是如何搜索对象属性的 继承的本质是复用父对象的属性,而这些属性分为两类:实例属性和原型属性(位于原型链上的属性)继承的最终目标:子对象的实例属性包括:父对象的实例属性+子对象自定义的实例属性子对象的原型属性:父原型的属性(__proto__和co...

2019-03-17 11:23:43

前端环境安装

使用vue-cli快速搭建脚手架的过程中,会涉及各式各样的工具,本文仅记录下来每个工具的作用。Node.js是基于ChromeV8引擎的JavaScript运行环境,为JavaScript提供了服务端运行的能力。windows上安装:从官网下载安装文件 使用安装文件安装,默认会选中安装npm并且会添加PATH路径安装完成后:node.js会安装在自选的目录下 npm默认...

2019-02-26 14:45:12

Vue.js官网教程梳理

Vue.js的官网教程很详细,这里做一个关键点梳理,方便查阅。基础:Vue实例:创建一个Vue实例 只有当实例被创建时 data 中存在的属性才是响应式的 Vue实例自带有$开头的实例属性和方法 Vue还有生命周期钩子函数,就是生命周期各个阶段会执行的函数模板语法:Vue.js模板都是合法的html 插值(把Vue实例中的值插入的html中)这个值可以是文本原始HTM...

2019-02-17 22:10:20

Node.js由简入繁

 目标是由最简单的东西开始,一步一步理清楚Node.js的MVC架构的一般骨架。一,模块1.创建模块//first.jsvars='Hello';functiongreet(name){ console.log(s+','+name+'!');}//把模块中需要对外提供的功能暴露出去module.exports={ greet:gree...

2019-02-14 09:02:05

java高精度

关于java里的大整数,高精度数怎么使用的板子。题目详见acwing114大整数用BigInteger高精度用BigDecimal。包括加减乘除,各种对结果取整方式等。熟悉了之后,用起来还是很方便的。importjava.util.Scanner;importjava.util.Arrays;importjava.math.BigDecimal;importj...

2019-02-07 22:37:24

JavaScript-06

PS:关于JS的学习,暂时就告一段落了。临近新年,杂事很多。JQuery:之前只知道JQuery是JavaScript框架,就是简化了操作DOM。理解得比较片面。事实上使用JQuery除了简单还有其他的好处:消除浏览器差异:你不需要自己写冗长的代码来针对不同的浏览器来绑定事件,编写AJAX等代码; 轻松实现动画、修改CSS等各种操作。既然如此,那么JavaScript能做的,JQu...

2019-01-27 12:36:28

JavaScript-05

新特性:ES6:Promise:Promise是一种异步编程的解决方案,我们一直在使用的异步编程的解决方案是:事件+回调函数。这种做法不是不行,只是Promise更加方便而已。先看代码,知道怎么做,再去探究为什么这样做可以。这是我比较喜欢的学习方式。//创建Promise对象varpromise=newPromise(function(resolve,reject...

2019-01-26 10:46:57

JavaScript-04

新特性:设置原型:前一篇有一点没有说的是:__proto__并不是ECMAScript标准,尽管有很多浏览器实现了这个属性。ES5的时候引入了Object.create():vara={a:1};//a--->Object.prototype--->nullvarb=Object.create(a);//b--->...

2019-01-25 13:19:05

JavaScript-03

日期类:vard=newDate();d//ThuJan24201919:44:27GMT+0800(中国标准时间)d.getFullYear();//2019d.getMonth();//0//月份从0开始反人类d.getDate();//24d.getHours();//19d.getMinute...

2019-01-24 23:45:57

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。