12 Jason-Jin

尚未进行身份认证

我要认证

擅长:react,redux,html5,js,flex,node.js,webapp,hybrid 欢迎大家关注我的公众号:不只是程序员

等级
TA的排名 1w+

时间复杂度

前言工作时间长了,难免对这些知识有一些遗忘,我们还是复习下 时间复杂度的概念和如何计算吧相关概念算法:算法是指解题方案的准确而完整的描述,是一系列解决问腿的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。算法的效率:是指算法执行的时间,算法执行时间需要通过算法编制的程序在计算机上运行时所消耗的时间来衡量。一个算法的优劣可以用空间复杂度和时间复杂度来衡量。时间复...

2019-03-18 11:17:55

react 16中的context你知道多少?

关于react中context的说明,在掘金上看到的,转过来,大家看下~写的简单明朗抛出问题在平时使用react的过程中,数据都是自顶而下的传递方式,例如,如果在顶层组件的state存储了theme主题相关的数据作为整个App的主题管理。那么在不借助任何第三方的状态管理框架的情况下,想要在子组件里获取theme数据,就必须的一层层传递下去,即使两者之间的组件根本不需要该数据;就如同下...

2019-03-06 16:56:07

react中的setState是同步还是异步还是?

setState 只在合成事件和钩子函数中是“异步”的,在原生事件和 setTimeout 中都是同步的。 合成事件:就是react 在组件中的onClick等都是属于它自定义的合成事件 原生事件:比如通过addeventListener添加的,dom中的原生事件 setState的“异步”并不是说内部由异步代码实现,其实本身执行的过程和代码都是同步的...

2019-03-06 16:04:59

Redux源码分析(二)之combineReducers

Redux源码分析(combineReducers)上一篇我们看完了createStore这个自认为最为核心的文件之后,我们再来看下combineReducers.js这个文件,其他它最主要的作用就是合并多个reducer,因为在createStore中的第一个参数就是一个reducer,而平时我们开发过程中如果将全部状态都写在一个文件中有一些过于庞大且不好管理,因此我们可以先拆开去写reduc...

2018-11-07 15:43:38

Redux源码分析(一)

Redux源码分析使用redux都快3年了,到现在也没认真去了解一下源码罪过啊,所以需要对它进行一些分析和学习,一方面能更好的去使用它,另一方面也学习一下该框架的设计思路,首先我们看到 redux/src/index.js 文件export { createStore, combineReducers, bindActionCreators, applyMiddleware,...

2018-11-06 16:46:39

浏览端渲染性能相关(转自google开发者中心)

现在的网络用户希望他们访问的页面具有交互性并且运行顺畅,这正是您需要投入越来越多时间和精力的地方。页面不仅要快速加载,而且要顺畅地运行;滚动应与手指的滑动一样快,并且动画和交互应如丝绸般顺滑。要编写高性能的网站和应用,您需要了解浏览器如何处理 HTML、JavaScript 和 CSS,并确保您编写的代码(和您要包括的其他第三方代码)尽可能高效地运行。60fps 与设备刷新

2017-12-18 14:47:53

我的React前端工程化模板&组件库

react-template-easilyDesc: react-template-easily 是一套以react技术搭建的项目模板,适用于移动端H5, webapp和hybirdApp开发。其中包含常用20+常用组件,精细计算的rem,以及诸多项目的实践。URL:https://github.com/jinjiaxing/react-template-easily

2017-11-10 19:39:37

客户端区域坐标转换为 Canvas 坐标

通过 MouseEvent.clientX和 MouseEvent.clientY 可以获得鼠标在浏览器客户端区域的坐标。借助 Element.getBoundingClientRect()方法来实现客户端区域坐标与 canvas 坐标之间的转换。function windowToCanvas (canvas, x, y) { var bbox = canvas.get

2017-04-15 12:53:35

解决iscroll.js上拉下拉刷新手指划出屏幕页面无法回弹问题

使用过iscroll.js的上拉下拉刷新效果的朋友应该都碰到过这个问题:在iOS的浏览器中,上拉或下拉刷新时,当手指划出屏幕后,页面无法弹回。很多人因为解决不了这个问题,干脆就那样不解决了,还有的直接就不用HTML了,使用原生代替HTML页面。相信很多朋友也有自己的解决办法,只是没写出来,所以网上都搜不到解决方案。在很多QQ群里面也有很多人在问该怎么解决这个问题,所以我写这篇文章记录一下我

2017-03-29 11:44:56

DOCTYPE

DTD(document type definition,文档类型定义)是一系列的语法规则, 用来定义XML或(X)HTML的文件类型。浏览器会使用它来判断文档类型, 决定使用何种协议来解析,以及切换浏览器模式。事实上DTD可以定义所有SGML语族的文档类型,但由于太过繁琐, XML Schema反而更加流行。多数HTML编辑器都会为我们添加一行DOCTYPE声明,但DOC

2017-03-22 12:00:04

Git命令总结

对比svn优势:①分布式管理,无网络也可以继续使用                        ②强大的分支管理,对比svn的分支,速度性能易用上都显而易见1.git 安装 自己去搜索吧2.git init 初始化,会在目录下新创建一个 .git目录,mac下查看隐藏文件可以用 ls -ah3.git add ‘文件’ 或者 g

2017-02-08 16:02:21

Android中line-height不居中的解决办法

android的webview中,line-height的垂直居中 对于字体小于12px的无效,主要是因为避免奇数font-size带来的偏差,设置成了偶数,所有会有一些偏上解决办法:1. 改变字体大小 最直接的方法就是改变字体大小让它大于 12px 能够正常居中,如果页面对字体大小要求比较严格的话,可以先将原来包括 font-size 在内的属性放大两倍,再用 scale 缩

2016-12-22 14:16:50

css 实现 0.5 px 的 border

在做手机页面的时候,有时候需要模仿原生的那种 1px 下划线的效果,普通的 css 1px 看起来比原生的粗,所以我们可以考虑实现 0.5px 的border 来实现这个效果,因为只有少数的设备才支持 0.5px 这个属性值,所以我们只能通过其他办法来实现,比如:<div class="btn">.5px border</div> .btn {      ...

2016-12-21 15:20:31

Web前端填坑记录(持续更新)

主要记录自己开发时候遇到的坑,以及一些解决办法

2016-12-21 14:55:11

理解JSBridge

随着HTML5的不断普及及优化,其在移动端开发的应用也越来越多,在开发者我们经常需要web和native进行交互,也就是要用到经常听到的“JSBridge”。这里我就自己的理解及实践,讲一下什么是JSBridge。有些朋友听到JSBridge,会觉得是个蛮高大上的东西,好像很厉害很复杂的样子,有了它web和native都能交互了呢。其实并非如此,相信我,JSBridge真的是一个非常非常简

2016-10-11 16:06:34

tree-shaking

先问一个问题:对于打包后的文件你关注的是什么?简单的变量话的压缩技术已经不够了其实13年就有一篇外文专门介绍了单纯压缩已经远远不够了,稍后我们也会放出原文它的由来?最早是 rollup 的作者 Rich Harris 在自己的打包工具中设计的一个特性It only includes the bits

2016-08-10 11:47:56

前端路由实现与 react-router 源码分析

原文地址在单页应用上,前端路由并不陌生。很多前端框架也会有独立开发或推荐配套使用的路由系统。那么,当我们在谈前端路由的时候,还可以谈些什么?本文将简要分析并实现一个的前端路由,并对 react-router 进行分析。一个极简前端路由实现说一下前端路由实现的简要原理,以 hash 形式(也可以使用 History API 来处理)为例,当 url 的 hash

2016-05-25 17:14:28

Reflux

前言在细说Flux之前,还是得提一下React ,毕竟Flux这个名字,是因为它才逐渐进入到大众视野。React是facebook提出来的一个库,用来构建用户界面(User Interface),它的三大特点(来自官方):JUST THE UI: 仅仅是一个View(components),可以认为是MVC中V,用来构建UI界面。VIRTUAL DOM 

2016-04-14 15:26:08

JavaScript 原型系统的变迁,以及 ES6 class

概述注:原文放在 SegmentFault 。如果你想看到更清晰的目录,可以去看原文。除此之外,本文不缺少任何内容。JavaScript 的原型系统是最初就有的语言设计。但随着 ES 标准的进化和新特性的添加。它也一直在不停进化。这篇文章的目的就是梳理一下早期到 ES5 和现在 ES6,新特性的加入对原型系统的影响。如果你对原型的理解还停留在 function + ne

2016-03-28 11:56:54

Browserify —— 利用Node.js实现JS模块化加载

Browserify 可以让你使用类似于 node 的 require() 的方式来组织浏览器端的 Javascript 代码,通过预编译让前端 Javascript 可以直接使用 Node NPM 安装的一些库。安装:npm install -g browserify示例这是 main.js 的内容,像普通的 nodejs 程序那样使用 require() 加载库和文

2016-02-19 19:46:34

查看更多

勋章 我的勋章
    暂无奖章