自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 redux学习-自定义redux库createStore,combineReducers

redux模块对象:createStore, combineReducerscreateStore(reducer) : 接收一个reducer函数,返回一个store对象combineReducers(reducers) : 接收多个reducer函数,返回一个reducer对象store对象:getState() 得到内部state对象dispatch(action) 分发act...

2019-11-27 15:18:35 155

原创 react学习相关

将路由器中的history传递给子组件dva框架import {withRouter} from ‘dva/router’

2019-11-06 21:29:30 128

原创 npm切换引入源

npm install nrm -gnrm use taobao

2019-10-27 14:35:28 160

原创 forEach与map的区别

forEach与map都是用来遍历数组,但是forEach返回的是一个undefined而map则会返回一个新数组,他们两者都不会改变原来的数组。

2019-10-22 11:10:41 129

原创 对象重构

let obj = {a:1,b:2,c:3}// 期望结果formate(obj,['a','c'])// 期望结果{a:1,c:3}function formate(obj,arr) { let obj2 = {} arr.forEach(el => { obj2[el] = obj[el] }); console.log(obj2...

2019-10-22 10:53:55 323

原创 三栏布局

<div class="wrap"> <div class="left"></div> <div class="center"></div> <div class="right"></div></div>第一种使用flex布局.wrap{ height: 100px;...

2019-10-22 10:49:20 91

原创 原生ajax请求

`var xmlhttp = new XMLHttpRequest()xmlhttp.onreadystatechange = function(){if(xmlhttp.readystate === 4 && xmlhttp.status === 200) {console.log(‘成功回调’)}}xmlhttp.open(‘post’,‘ajxa/baidu.c...

2019-10-21 15:21:14 122

原创 flex-grow与flex-shrink知识点

flex-grow:flex-grow属性定义项目的放大比例,默认为0,即如果存在剩余空间,也不放大。flex-shrink:flex-shrink属性定义了项目的缩小比例,默认为1,即如果空间不足,该项目将缩小。...

2019-10-15 20:06:14 133

原创 前端性能优化

1.尽量减少 HTTP 请求个数——须权衡2.减少 DOM 元素个数3.使用 gzip 压缩内容4.把 CSS 放到顶部5.把 JS 放到底部6.预加载

2019-10-15 20:00:55 73

原创 get与post区别

1.get向服务器请求数据,而post将数据传递给服务器2.GET请求把参数包含在URL中,将请求信息放在URL后面,POST请求通过request body传递参数,将请求信息放置在报文体中。3.get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB。4. get安全性非常低,get设计成传输数据...

2019-10-15 19:56:42 332

原创 浏览器url中输入地址后发生什么事情?

1.dns域名解析:如果直接查询dns服务器没有找到对应的ip地址,就会向上级服务器询问,这样一层一层的向上级找,最高可到达根结点,直到找到或者全部找不到位置。2.建立tcp连接(简称三次握手):第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SENT状态,等待服务器确认;SYN:同步序列编号(Synchronize Sequence Numbers)。第二次...

2019-10-15 19:48:37 184

原创 vue-router中hash与history

对于vue这类渐进式前端开发框架,为了构建 SPA(单页面应用),需要引入前端路由系统,这也就是 Vue-Router 存在的意义。前端路由的核心,就在于 —— 改变视图的同时不会向后端发出请求。hash–比如这个 URL:http://www.abc.com/#/hello,hash 的值为 #/hello。它的特点在于:hash 虽然出现在 URL 中,但不会被包括在 HTTP 请求中,对后...

2019-10-15 19:33:55 100

原创 split,slice,splice常混淆方法

split用于字符串,splice用于数组str.split([separator[, limit]])常用于切割字符串例如 str= ‘1234123123123’str.split(‘1’,2)他将返回数组[’’,‘234’]并且不会操作str字符串。array.splice(start[, deleteCount[, item1[, item2[, …]]]])而splice属于数...

2019-10-15 19:21:10 122

原创 promise牛刀小试

做了3个定时器,第一个3s后输出,第二个1s后输出,第三个2s后输出期望的是 第一个执行结束,执行第二个,然后第三个<script> function t1() { return new Promise((resolve, reject) => { setTimeout(()=>{ let num = Math.random()*...

2019-07-20 20:14:53 120

原创 五秒内点击屏幕8次触发事件

实现思路如下:五秒内点击八次,核心是时间控制在五秒内,如果超过时间要及时重置计数器,以获取最佳用户体验。1.困难点:没有及时去重置时间。场景:有的用户先点三次,过三分钟后回来点五次。如果我们没有及时的重置计数器,这会导致用户点完五次后,告诉用户超时了,要再次重新连续点五次。本案例旨在解决此类问题。html片段<div class="foot" @touchstart='touchs...

2019-07-01 17:08:27 1053

原创 原生switch选择器(vue组件)

选择器

2019-07-01 16:37:28 797

原创 cordova打包vue项目

@[TOC]cordova打包vue项目心得cordova打包vue项目出现的问题你好! 这是对cordova打包vue项目存在问题解析,针对android.1跟着官方文档走,创建cordova项目失败。用cnpm install -g cordova出现丢包,导致构建失败。改用这个npm install -g cordova。2.cordova打包出的app名字,图片修改。在cordov...

2019-06-26 10:19:38 226

空空如也

空空如也

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

TA关注的人

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