自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

前端361

深层前端技术交流

  • 博客(11)
  • 收藏
  • 关注

原创 页面加载进度条实现——readyState和onreadystatechange

document.readyState 属性返回当前文档的状态(载入中……)。共有四种取值:1,uninitialized - 还未开始载入  uninitialized  英 [ʌnɪ'nɪʃlaɪzd]  未初始化2,loading - 载入中3,interactive - 已加载,文档与用户可以开始交互  interactive 英 [ˌɪntərˈæktɪv]   adj....

2018-11-16 12:10:19 1437

原创 移动端rem适配代码

rem字体设置是根据font-size相对设置:<script type="text/javascript"> function rems(){ // 获取屏幕宽度(此处是一个兼容的写法) var htmlWidth=document.documentElement.clientWidth||document.body.clientWid...

2018-11-15 14:20:51 318 1

原创 redux中间件种类和各自的作用

redux-thunk 中间件  改造store.dispatch,解决异步操作异步操作的第一种解决方案就是,写出一个返回函数的 Action Creator,然后使用redux-thunk中间件改造store.dispatchredux-promise 中间件  使得store.dispatch方法可以接受 Promise 对象作为参数redux-logger中间件 日志中间件...

2018-11-15 12:22:05 1481 1

原创 用es6中map简化复杂条件判断

复杂逻辑判断时需要写很多if/else,代码可读性较差,可以用es6新增的Map来简化代码列举六种实例,逐步简化/** * 按钮点击事件 * @param {number} status 活动状态:1 开团进行中 2 开团失败 3 商品售罄 4 开团成功 5 系统取消 */const onButtonClick = (status) =&gt; { if (stat...

2018-11-14 18:03:02 5107 2

原创 redux的combineReducers简单实现

combineReducers简单封装const combineReducers = reducers =&gt; { return (state = {}, action) =&gt; { return Object.keys(reducers).reduce( (nextState, key) =&gt; { nextState[key] = re...

2018-11-14 12:03:09 649

原创 applyMiddleware原理和middleware中间件原理及应用场景

 首先看下redux执行流程:redux设计思想:(1)Reducer:纯函数,只承担计算 State 的功能,不合适承担其他功能,也承担不了,因为理论上,纯函数不能进行读写操作。(2)View:与 State 一一对应,可以看作 State 的视觉层,也不合适承担其他功能。(3)Action:存放数据的对象,即消息的载体,只能被别人操作,自己不能进行任何操作。想来想去...

2018-11-13 13:43:24 3241

原创 redux原理——ruduce函数和compose函数

reduce()合并函数核心:每次的返回值是一个函数,再用该函数去执行下一个数组元素(数组元素先执行传入参数返回)讲redux之前首先要理解一个函数-----reduce()语法array.reduce(function(total, currentValue, currentIndex, arr), initialValue)参数说明:一、function(total,curr...

2018-11-12 18:53:58 731

原创 HTML5中history对象解析及前端路由实现封装流程

HTML5 history新增了两个API:history.pushState和history.replaceState两个Api都接收三个参数:语法:window.history.pushState(state Object, title, URL);window.history.replaceState(state Object, title, URL); ...

2018-11-09 18:25:58 515

原创 Element.scrollIntoView()

Element.scrollIntoView() 方法让当前的元素滚动到浏览器窗口的可视区域内语法:element.scrollIntoView(); // 等同于element.scrollIntoView(true) element.scrollIntoView(alignToTop); // Boolean型参数 element.scrollIntoView(scrollI...

2018-11-08 10:00:53 831

原创 HTML5全屏,页面可见性,访问摄像头和麦克风,检测电池,预加载网页功能

1,全屏// 找到适合浏览器的全屏方法 function launchFullScreen(element) { if(element.requestFullScreen) { element.requestFullScreen(); } else if(element.mozRequestFullScreen) { element.mozRequ...

2018-11-07 16:31:28 1180

原创 js更新dom后页面及时渲染问题(js线程阻塞和解决办法)

参考:https://blog.csdn.net/qq_39542027/article/details/78893873两个概念:1,js是同步加载的 2,浏览器执行js程序,高于页面渲染于是就出现了js更新dom,页面不能及时渲染的问题代码例子:document.body.html('为什么不先渲染我');//程序$.ajax({...

2018-11-02 16:28:12 11492 1

空空如也

空空如也

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

TA关注的人

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