![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
javascript
vzhufeng
这个作者很懒,什么都没留下…
展开
-
看不懂react-redux就写一个,超精简版
react-redux的代码,还挺多的,偷懒不想看,但是又怕别人问原理,所以就手撸一个来玩玩,超精简惯例,先看react-redux的使用,这是一个按钮加一个p标签,初始化是0,点了以后随机生成数字,很简单,看不懂请看redux文档index.jsx文件import ReactDOM from "react-dom";import React from "react";import {...原创 2020-03-25 10:28:38 · 1254 阅读 · 0 评论 -
大白话说一说node的stream
在看koa-body的时候,发现很多和流相关的操作,就去看了下node文档和其他文章, 花了挺长时间看完以后发现还只是略知一二,分享记录一下。很多细节还是要看官方文档。stream是个啥个人理解,就是个可以控制读写速度的缓冲区的封装,方便大家处理数据,比如说我要读取一个文件,我如果直接使用fs.readFile,不管同步异步吧,总是一口气读出来的,那么同步操作会阻塞,异步操作的话至少文件比较大...原创 2020-02-24 10:09:17 · 195 阅读 · 0 评论 -
matter.js使用小记
之前一直想看box2d,后面发现了matter.js,听说文档比较全面,稍微看了下也没觉得有多全面(????),拖了很久才来写了个相对完整的例子,记录一下。先说下整体感觉,使用的时候发现了一些bug(也可能是我使用姿势不对),性能不是太好,文档形式是API加demo,有些功能需要自己尝试,建议把官方demo都看一遍,试一试。并且因为是个物理引擎,如果用来写游戏,有些你想要不遵守物理法则的时候就得想点办...原创 2019-12-22 19:05:28 · 2543 阅读 · 4 评论 -
一只sync和一只wait
最近有一个包里用了不少async await,但是细细看了一下发现很多地方用的比较奇怪,比如同步的函数,没有用到await也用async,就稍微整理了一下相关的使用,没有实现原理相关的内容,以示例为主,有点像面试题。参考了一些文章,就不单独罗列了,一搜还挺多的。async返回了什么async返回一个promise,这个大家应该都很清楚,那么看一下这个例子,看看是否能区分async funct...原创 2019-10-28 21:08:35 · 929 阅读 · 0 评论 -
lodash 4.16.1方法整理
最近才开始用lodash,发现确实有些函数可以避免自己写一些重复代码,用自己的话记录一些自己觉得比较有用的,有一些函数大概看的时候还没领会到它的精髓所在,以后再说 不是全部,不是全部,不是全部loadsh中有些和原生js同名的函数,但是规则会不太一样,比如isNaN,最好用原生的,除非对规则的区别很清楚方法有点多,建议一次只看一个类别,有空的时候来看看,熟悉熟悉版本4.16.11...原创 2018-09-02 20:54:25 · 3253 阅读 · 0 评论 -
手写一个简单的Promise
今天突发奇想,想自己写个Promise来玩,一说要写还真反应不过来怎么开始,总之先看看Promise是怎么用的好了。let pp= new Promise((resolve, reject) => { resolve('done');});pp.then((value) => { console.log(value);}).catch((e)=>{ cons...原创 2018-11-22 10:58:11 · 3488 阅读 · 0 评论 -
Promises/A+规范翻译
Hi,又是我,之前那篇手撸promise写的太简单,被同学吐槽了,说完全没按照规范来,好的,先在这里翻译下规范原文 https://promisesaplus.com/时间 2018年11月29日一个promise代表一个异步操作的最终结果,和promise交互的主要方法是通过它的then方法,then方法是用户注册的回调函数,接收promise的最终结果或者promise没有fulfill...翻译 2018-11-29 15:18:34 · 1568 阅读 · 0 评论 -
Commander使用记录
参考文章 https://github.com/tj/commander.js http://www.ruanyifeng.com/blog/2015/05/command-line-with-node.html之前没怎么写过node,所以git上面的readme看起来有点吃力,找了几篇文章来看才摸到点门道,但是还有不少问题1.怎么运行 第一步肯定是创建工程,安装commander,...原创 2018-07-20 16:18:33 · 807 阅读 · 0 评论 -
webpack多页面方案
上一篇总结了webpack的配置,其实配置还是相对容易的,因为只要根据需要照搬选项就好了,但是只写配置项那最终打包出来的结果就是一个html和一个js,如果页面多了那肯定是不行的,所以就需要想办法拆分代码,我所知道的拆分代码方式大概有2种:1.使用react-loadable + import();2.entry的对象写法和html-webpack-plugin的chunks选项;参考文章比较多...原创 2019-03-04 20:38:36 · 1352 阅读 · 0 评论 -
webpack配置总结
最近不是在写hw么,所以就撸了一遍webpack的文档,按说这事情一年前就该做了。不过前端的工程搭建不知道为啥这么复杂。配置文件结构不管create-react-app、vue-cli这些工具怎么封装,最后webpack肯定是运行一个配置文件,这个文件可以是js也可以是json(还可以是别的),个人感觉应该是json格式用的比较多吧。一般配置内容可以分成这么几个部分:入口(entry)...原创 2019-02-28 16:33:16 · 200 阅读 · 0 评论 -
babel的一些包的相关总结
参考:https://babeljs.iohttps://www.babeljs.cnbabel-***、@babel/***的包总是占一堆,但是又不太清楚是干嘛的,所以特地看了下文档,整理和摘抄如下:@babel/core核心功能,babel从版本7开始用@开头的scope包,老版本是babel-core,其他的包都是一样的规律@babel/plugin-***很多,不列举了,单独配...原创 2019-02-27 16:45:23 · 761 阅读 · 0 评论 -
node搭建react-router开发环境
自己搭的脚手架,因为一些原因没使用webpack-dev-server,目录结构如下|-src |-page1 |-index.html |-index.js |-other.js |-index.scss然后写着写着发现一个问题,因为写的是多页面形式的工程,每个目录下有一个html模板,又没有实际在生产中使用,所以写的内容比较简单,都...原创 2019-08-15 21:26:28 · 294 阅读 · 0 评论 -
记一个MutationObserver的问题
http://www.cnblogs.com/dong-xu/p/7000139.html看上面这篇文章的时候,看到有个例子是讲MutationObserver的,非常费解,两个元素,一父一子,父元素设置上observer,点击子元素的时候,observer会触发两次,应该是事件冒泡了,没问题,但是对子元素调用click()的时候,父元素的点击回调也照样执行,但是observer只触发了一次,...原创 2018-05-24 23:53:33 · 2743 阅读 · 0 评论 -
双向绑定的一种简单实现
参考 https://www.cnblogs.com/yuqing-o605/p/6790709.html?utm_source=itdadao&utm_medium=referral https://blog.csdn.net/orangecsy/article/details/79759663直接看代码<!DOCTYPE html><html lang=...转载 2018-05-05 15:01:44 · 638 阅读 · 0 评论 -
几个带?的正则表达式语法(js)
这里都是?开头的语法,平常不太用,不太好记,可以参考http://www.jb51.net/tools/regexsc.htm 推荐个工具http://regex.zjmainstay.cn/,比较全面,而且有匹配的步骤,可以看出自己的表达式写的好不好chrome版本 65.0.3325.181(正式版本) (64 位)(?:pattern) 非捕获匹配举例,这个例子里幺蛾子...原创 2018-04-13 16:33:51 · 195 阅读 · 0 评论 -
构造函数的无限嵌套
有个不懂的问题,贴出来提醒下自己,以后遇到大神问问:函数(比如叫function A)有一个prototype,包含一个constructor属性,constructor指向function A,那么这个被constructor指向的function A是不是就是function A自己呢,如果是,那么constructor是不是就是个无限嵌套自己的结构,我在浏览器里一直点开construct...原创 2018-01-31 15:28:45 · 851 阅读 · 0 评论 -
关于Promise的一点总结
关于Promise的文章一搜一大把,我就不写了,总结一下自己看了几篇文章的收获可以参考 https://www.liaoxuefeng.com/wiki/001434446689867b27157e896e74d51a89c25cc8b43bdb3000/0014345008539155e93fc16046d4bb7854943814c4f9dc20001.Promise是一种规范,ES...原创 2018-03-07 16:39:59 · 221 阅读 · 0 评论 -
滚动加载内容
场景大概的场景是一个列表,要加载很多的内容,比如一个ul 里面有几万个li,li里面还有很复杂的结构,那么要怎么展示这些li呢。 有些已知条件,总的li个数是要知道的,视图区的大小是要知道的,li的高度是要知道的,其实是要知道ul到底是多少高度,因为要在滚动的时候保持这个高度不变,然后在视图区里替换这些li就好了一种方案一种方案是这样的,首先分组,按个数分,比如50个一组,分完以...原创 2017-11-24 19:56:18 · 288 阅读 · 0 评论 -
react-redux工程结构浅析
之前接到手的工程,都是别人搭好的,刚开始也是拿来就写业务,没怎么关注,最近接到一个交互比较多的工程,才开始考虑使用redux的必要性和使用方法,以及多交互情况下组件间的通信问题,以下按照工程目录和阮一峰的redux教程进行对比。http://www.ruanyifeng.com/blog/2016/09/redux_tutorial_part_one_basic_usages.html首先需要...原创 2018-03-11 17:11:34 · 223 阅读 · 0 评论 -
js的对象、构造
参考 红皮书对象属性1.数据属性:configurable 默认falseenumerable 默认falsewritable 默认falsevalue 默认undefined2.访问器属性:configurable 默认falseenumerable 默认falseget ...原创 2018-03-22 15:24:35 · 156 阅读 · 0 评论 -
js的继承
参考: 红皮书红皮书提到有两种继承方式:接口继承和实现继承,js没有接口继承,因为js没有函数签名 函数签名就是函数的声明信息,包括参数、返回值、调用约定之类,这个调用约定我查了查,大概就是指C里面的_stdcall、__cdecl这种东西(平时真的很少说调用约定这么专业的术语),主要是参数压栈顺序,清栈顺序什么的,了解就行,哪天遇到了再填坑0.直接使用原型链```fun...原创 2018-03-30 18:05:06 · 151 阅读 · 0 评论 -
js闭包相关总结
参考 http://www.ruanyifeng.com/blog/2009/08/learning_javascript_closures.html https://www.jianshu.com/p/132fb6d485ee闭包也算是老生长谈的问题,自己平时其实不太用到,看了几篇文章,写点总结,以后如果自己用到了,有新的见解再来更新1.主要作用1.封装代码(局部变量) 2...原创 2018-05-10 16:44:55 · 102 阅读 · 0 评论 -
js match的()和g的幺蛾子
遇到了这么个例子,觉得神奇,记录一下,我估计以后浏览器更新可能结果会变化,随便看看,不要太纠结 chrome版本 65.0.3325.181(正式版本) (64 位)1."abcabc".match(/(b)(c)/)结果[“bc”, “b”, “c”],我想了想,就我自己大脑解析的话,我给出的结果应该是[bc,bc,b,b,c,c]先不说我的结果错的多离谱,为啥只有一个bc呢,...原创 2018-04-13 14:57:58 · 2249 阅读 · 0 评论 -
setTimeout和setInterval
记得之前写插件的时候遇到过一段代码,套用了两层setTimeout,当时觉得好笑,怎么会有人写这种代码,忍不住想改成setInterval,代码是这样的function A(){ some code; setTimeout(A(), 1000);}前两天看红皮书发现,原来这种写法还比setInterval好,简直无语,红皮书给的代码是这样的setTimeout(fu...原创 2017-09-06 15:18:10 · 180 阅读 · 0 评论