Eric's Blog

Promise相关

什么是 Promise Promise 是异步编程的一种解决方案,比传统的异步解决方案【回调函数】和【事件】更合理、更强大。现已被 ES6 纳入进规范中。 Promise 操作只会处在 3 种状态的一种:未完成态(pending)、完成态(resolved) 和失败态(rejected); Promise 的状态只会出现从未完成态向完成态或失败态转化; Promise 的状态一...

js中的事件绑定,事件捕获,事件冒泡以及事件委托,兼容IE

事件分为三个阶段: 事件捕获 –> 事件目标 –> 事件冒泡 事件捕获:事件发生时(onclick,onmouseover……)首先发生在document上,然后依次传递给body、……最后到达目的节点(即事件目标)。 事件冒泡:事件到达事件目标之后不会结束,会逐层向上冒泡,直至document对象,跟事件捕获相反 onlick –>事件冒泡...

Immutable.js与React,Redux及reselect的实践

Immutable.js解决的问题 React通过对组件属性(props)和状态(state)进行变更检查以决定是否更新并重新渲染该组件,若组件状态太过庞大,组件性能就会下降,因为对象越复杂,其相等性检查就会越慢。 对于嵌套对象,必须迭代层层进行检查判断,耗费时间过长; 若仅修改对象的属性,其引用保持不变,相等性检查中的引用检查结果不变; Immutable提供一直简单快捷的方...

js重载

function addMethod (obj, name, fn) { var old = obj[name]; obj[name] = function () { // fn.length指函数fn在定义时,形参的个数。 if (fn.length === arguments.length) { ...

dva分享

dva Generator(async/await和promise) redux-saga 基础API dva(umi) Generator Generator 函数是 ES6 提供的一种异步编程解决方案,语法行为与传统函数完全不同。 Generator 函数有多种理解角度。语法上,首先可以把它理解成,Generator 函数是一个状态机,封装了多个内部状态。 执行...

《深入浅出Nodejs》阅读笔记

《深入浅出Nodejs》阅读笔记 在commonjs中require自定义模块,查找该类模块是最费时的。模块路径的生成规则如下: 当前文件目录下的node_modules的目录。 父目录下的node_modules的目录 父目录的父目录下的node_modules的目录 沿路径向上逐级递归,直到根目录下的node_modules目录 它的生成方式与JavaScript的原型...

react-native项目总结

因为在闲暇之余折腾过react-native(以下简称RN),所以在转前端之初就参与到公司两个RN的项目中。其中一个已上线,是个线上项目,另一个纯粹练手(这种项目请再给我来一打😄),有了这两个项目经验已完全不是新司机了。 先来讲讲这个已上线的App 业务十分简单,几个表单而已,也是我第一个RN项目。项目由一个老司机搭建,用到技术栈有: "id-validator": "^1.3.0", "l...

Object.prototype.hasOwnProperty.call 那些事

为什么要这么使用? 有些Object可能是通过Object.create(null)创建的,其中包含null 原型链,也就是说不存在hasOwnProperty方法。 还有一种可能就是 var someObject = { hasOwnProperty: function(lol) { return true; } }; 如上面代码,对象的h...

react-native ios 真机远程调试

前言 在日常RN开发中免不了要调用原生组件,比如相机、通讯录等。那我们需要每次写好代码后,用手机连接Xcode安装app调试吗?至少我有某段时间就是这么干的😂,那时候整天吐槽Xcode编译效率极低。直到在网上看到了如此黑科技。 开始我们的表演 用Xcode打开你RN项目下ios的项目。 找到AppDelegate.m文件。 NSURL *jsCodeLocation; ...