自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 CROS 跨域请求原理

cros 分为两种请求简单请求浏览器将CORS请求分成两类:简单请求(simple request)和非简单请求(预检请求)(not-so-simple request)。只要同时满足以下两大条件,就属于简单请求。(1) 请求方法是以下三种方法之一:HEADGETPOST(2)HTTP请求头信息不超出以下几种字段:AcceptAccept-LanguageContent-LanguageLast-Event-IDContent-Type:只限于三个值applicat

2020-10-13 15:45:31 7044

原创 http1.1 和 http2 区别 缓存

http1.1是文本字符串传输,文本协议http21、二进制协议(二进制传送的单位是帧和流),2、多路复用(因为有流ID,所以通过同一个http请求实现多个http请求传输变成了可能,可以通过流ID来标示究竟是哪个流从而定位到是哪个http请求)3、压缩了headers(因为headers在一系列请求中常常是相似的,其移除了重复和传输重复数据的成本。)4、HTTP2支持在客户端未经请求许可的情况下,主动向客户端推送内容强缓存:Cache-Control或ExpiresCach..

2020-10-13 15:07:31 425

原创 js es5 和es6 的继承

es5functionFather(name){this.name=name}Father.prototype.say=function(){alert(this.name)}functionSon(name,age){Father.call(this,name,age)this.age=age} //关键varF=...

2020-09-29 15:32:10 158

原创 typeof instanceof 区别

typeof 检查数据类型并且输出它们的名字(返回小写字母字符串)js有5种基本类型(undefined,boolean,number,string,null),1种复杂数据类型objectinstanceof 检查一个变量是否一个对象的实例(返回布尔值)...

2020-09-26 13:10:09 177

原创 javascript 事件处理机制

一直以为事件只有绑定了才会有,在一场面试被虐了,所以写文章好好记录下来。<html><head> <title>test</title></head><body> <div>点我</div></body></html>这样一个结构,当点击div的时候,捕获阶段:事件从window对象自上而下向目标节点传播的阶段; 目标阶段:真正的目标节点正在处理事件.

2020-09-21 15:44:07 269

原创 webpack 性能优化

构建速度1、优化babel-loader开启babel-loader?cacheDirectory,指定范围2、IgnorePlugin比如一些插件,默认含有多语言文件,比如moment.jsnew webpackIgnorePlugin(/\.\/locale,/moment/) 去掉所有语言包然后手动引入中文语言 包直接不引入,代码没有3、noParse在module.exports={module:{noParse:[/react\.min\.js$/]

2020-09-15 19:48:15 113

原创 vue原理总结

new Vue 过程实现一个数据监听器Observer,对data所有属性进行拦截,获得getter和setter能力,data中每个属性都有一个依赖dep,每个依赖都有若干个wachter进行监视,当data中的属性改变时,通知dep,dep再通知给watcher,watcher就从对应的data中拿到值渲染到页面上...

2020-09-13 12:03:53 139

原创 http相关

OSI七层网络模型物理层、数据链路层、网络层、传输层、会话层、表示层、应用层TCP/IP五层模型物理层、数据链路层、网络层、传输层、应用层TCP连接3次握手1、你好,在吗,你能听到我说话嘛2、我在的,能听到3、好的,我也能听到,那我开始传输数据了客户端http请求报文服务器响应报文4次挥手客户端:我说完了,我要闭嘴了;服务端:我收到请求,我要闭耳朵了;(客户端收到这个确认,于是安心地闭嘴了。)…….服务端还没倾诉完自己的故事,于是继续唠唠叨叨向客户..

2020-08-29 10:56:54 106

转载 vuex 模块化 根级别 和 模块级别 差异

1、模块级别的 action 和 mutation 只能处理所在模块中的 state,根级的 action 和 mutation 除了访问根级 state 之外,还可以通过 state.moduleXXX.YYY 来访问模块中的 state。分割模块的作用是分治,可以适当降低复杂度,同时避免不同模块之间状态的篡改,即 A 模块无法任意访问 B 模块的状态。2、根据我的理解。根级别的stor...

2019-04-25 16:19:44 338

转载 vue指令图解、生命周期函数、vuex

2018-08-03 09:52:04 432

转载 linux 干净卸载 mysql

转自:http://blog.youkuaiyun.com/tjcyjd/article/details/521891821、使用以下命令查看当前安装mysql情况rpm -qa|grep -i mysql 可以看到如下图的所示:显示之前安装了:MySQL-client-5.5.25a-1.rhel5MySQL-server-5.5.25a-1.rhel52、停止mysql服务、删除...

2018-08-01 11:07:13 175

转载 CentOS安装mysql并配置远程访问

CentOS安装mysql并配置远程访问最近上班挺无聊,每天就是不停的重启重启重启,然后抓log.于是有事儿没事儿的看卡闲书,搞搞其他事情. 但是,公司笔记本装太多乱其八糟的东西也还是不太好. 于是,想到了我那个当VPN server的VPS. 每个月花几十大洋单单就为了个VPN还是不太划算. 于是想在上面整个mysql 给最近做练习用. 这样,上班下班,很多资料也不需要来回倒腾U盘了...

2018-08-01 11:03:55 289

原创 centos apache 多域名配置

1、打开 ServerName localhost:802、注释 #DocumentRoot "/var/www/html"3、配置域名&lt;VirtualHost *:80&gt;        ServerName blog.xdlxb.cn        ServerAlias blog.xdlxb.cn        DocumentRoot /data/www/  ...

2018-07-30 11:08:34 1224

转载 vue单向数据流prop

prop是单向绑定的:当父组件的属性变化时,将传导给子组件,但是反过来不会。这是为了防止子组件无意间修改了父组件的状态,来避免应用的数据流变得难以理解。另外,每次父组件更新时,子组件的所有prop都会更新为最新值。这意味着你不应该在子组件内部改变prop。如果你这么做了,Vue会再控制台给出警告。在两种情况下,我们很容易忍不住想要去修改prop中数据:  1、Prop作为初始值传入后,子组件想把它...

2018-06-03 21:20:36 328

转载 es5 foreach 和 map

一、原生JS forEach()和map()遍历共同点:    1.都是循环遍历数组中的每一项。    2.forEach() 和 map() 里面每一次执行匿名函数都支持3个参数:数组中的当前项item,当前项的索引index,原始数组input。    3.匿名函数中的this都是指Window。    4.只能遍历数组。1.forEach()   没有返回值。arr[].forEach(fu...

2018-06-01 21:40:10 410

转载 一篇很好的es6文章

刚开始用vue或者react,很多时候我们都会把ES6这个大兄弟加入我们的技术栈中。但是ES6那么多那么多特性,我们真的需要全部都掌握吗?秉着二八原则,掌握好常用的、有用的这个可以让我们的开发快速起飞。接下来我们就聊聊ES6那些可爱的新特性吧。1.变量声明const和let在ES6之前,我们都是用var关键字声明变量。无论声明在何处,都会被视为声明在函数的最顶部(不在函数内即在全局作用域的最顶部)...

2018-06-01 21:31:51 680

转载 JS中的forEach、$.each、map方法推荐

forEach是ECMA5中Array新方法中最基本的一个,就是遍历,循环。例如下面这个例子:[1, 2 ,3, 4].forEach(alert);等同于下面这个for循环?1234var array = [1, 2, 3, 4];for (var k = 0, length = array.length; k &lt; length; k++) { alert(array[k]);}Array...

2018-06-01 20:39:15 184

原创 es6 const定义基本数据类型的变量是不可以修改,其它复杂数据类型是可以修改的

es6 const定义基本数据类型的变量是不可以修改,其它复杂数据类型是可以修改的const arr = [1,2,3] ;  arr[3]= "hello";  arr.push("world")  //arr = [1,2,"hello","world"]...

2018-06-01 20:26:56 2017 2

转载 vue $nextTick 使用

比如你想让一个dom元素显示,然后下一步去获取这个元素的offsetWidth,最后你获取到的会是0。因为你改变数据,把show变成true,元素并不会立即显示,理所当然也不会获取到动态宽度。正确的做法是先把元素show出来,在$nextTick去执行获取宽度的操作,不知道这样说会不会好理解一点。 openSubmenu() { this.show = true //获取...

2018-05-28 20:21:36 790

转载 vue 文件中 name 的作用

export default {   name:'xxx'}name的作用有三个:1、当项目使用keep-alive时,可搭配组件name进行缓存过滤&lt;div id="app"&gt;  &lt;keep-alive exclude="xxx"&gt;  &lt;router-view/&gt; &lt;/keep-alive&gt;&lt;/div&gt;exclude=&quot

2018-05-28 20:14:01 5958

原创 vuex mapState mapMutations mapGetters 辅助函数理解

vuex 中,正规改共享数据流程是 组件-&gt; Action -&gt; Mutations -&gt; State ,如果不是批量改state的数据的时候,其实可以省略Action                                             (dispatch)    (commit) mapState 是映射state对象的数据,简化代码结构index.jsex...

2018-05-26 20:28:49 2372

转载 记录vue项目中使用better-scroll插件实现滚动点击失效的问题

this.scroll = new Bscroll(this.$refs.wrapper,{click:true})原来默认点击事件失效的,必须初始化开启,很尴尬!!!附上API格式:var obj = new BScroll(object,{[option1,],.,.});注意:1、要确保object元素的高度比其父元素高2、使用时,一定要确保object所在的dom渲染后再用上面的语句,或者...

2018-05-25 21:58:45 5838 1

转载 css 使用padding 百分比值实现高度自适应(多用于占位,避免闪烁)

.item { float: left; margin: 10px 5%; padding-bottom: 33.98%; /*高除以宽*/ width: 21%; height: 0;}demo: http://jsfiddle.net/luin/25BbH/7/改变大小始终保持保持恒定的宽高比, 常用于移动端,//占位 是否可控高度:false(无法控制min-heig...

2018-05-18 15:04:08 1183

转载 css 垂直和水平居中方法

方案一:div绝对定位水平垂直居中【margin:auto实现绝对定位元素的居中】,兼容性:,IE7及之前版本不支持    div{ width: 200px; height: 200px; background: green; position:absolute; left:0...

2018-05-18 09:01:13 99

转载 artTemplate 模板引擎 添加自定义函数方法

项目过程中,经常有时候后端返回的数据需要转化,但是使用模板引擎不知道怎么转,因此有这笔记。标红色是定义和执行关键&lt;!DOCTYPE html&gt;&lt;html&gt;    &lt;head&gt;        &lt;meta charset="utf-8" /&gt;        &lt;title&gt;demo&lt;/title&gt;        &lt;

2018-05-17 20:57:05 2343 1

转载 webpack4 配置总结

webpack4 好文章https://www.my-fe.pub/post/webpack-4-basic-config-note.html

2018-05-09 20:26:20 1222

原创 vue 父组件传值给子组件遇到的生命周期问题

项目遇到父组件传值给子组件,子组件监听数据变化可以用watch监听数据变化如果要在子组件打印父组件传来的数据必须是在beforeUpdate和updated生命周期才能监听的到,附上一张生命周期图...

2018-05-06 22:13:56 12967

原创 webpack vue 的一些笔记

1、开发过程中使用异步组件(提高性能)当app.js(几m)太大的时候才需要异步组件    第一种:    在route.js文件中    routes:[{        path:'/nav',        name:'Nav',        component:()=&gt;  import('xxx/xxx/Nav')}]    第二种        xxx.vue文件中注册组件的时候...

2018-05-06 20:00:52 272

原创 vue 细节常记以及一些坑

如果一个功能,用这三者都可以实现功能的话:1、优先考虑computed实现,因为性能更好,有缓存,当data中不相关的数据改变,computed里的方法不会触发计算,computed好用,简单展示丢给它一劳永逸。2、复杂关联比较多的属性用watch,更加方便,computed和watch两种互补。3、methods性能最低,因为当data其它不相干的数据改变时,它也会执行里面的方法,而且插值表达式...

2018-05-05 20:10:15 649

原创 vue 作用域插槽笔记

&lt;!DOCTYPE html&gt;&lt;html&gt;&lt;head&gt; &lt;meta charset="utf-8"&gt; &lt;meta name="viewport" content="width=device-width"&gt; &lt;title&gt;作用域插值&lt;/titl

2018-05-05 20:09:08 176

转载 跨域解决方案总结

1、后台添加允许跨域的请求头部Demo1(添加允许跨域请求的响应头)html页面 Web后台   按照上面的访问,由于127.0.0.1:8080和localhost:8081的域和端口不同,所以同样会出现跨域问题。 现在用添加响应头的方式 2、jsonp的callback方式(jsonp缺点:只能实现get一种请求。)这里演示的是jquery的ajax,后台采用的是webservice接口形式 ...

2018-04-25 10:32:24 184

转载 js 常用工具方法

1、cookie 操作// setCookie()// @About 设置cookie 默认一个月失效function setCookie(name, value) {    var Days = 30;    var exp = new Date();    exp.setTime(exp.getTime() + Days * 24 * 60 * 60 * 1000);    document....

2018-04-09 17:06:08 372

转载 前端命名规范

一名刚入行或者入行没多久的前端,最开始接触到的问题可能就是规范了。而规范里,又数命名最重要,至少我个人是这么认为的。在企业中,一个项目往往都需要由一个团队来完成,在多人合作中,个性往往会成为阻碍。当然,这里我并不是想要否定个性在开发中的优势和作用,但个性过于强烈,很多时候会让合作变得难以成功,至少我们的命名不需要太有个性。然而,如果你能力足够且足够主动,完全可以让别人“强行”接受自己的个性,自己定...

2018-04-09 16:12:37 233

转载 es6 扩展运算符 “...”

//展开数组let a = [1,2,3,4,5],b = [...a,6,7];console.log(b);//打印出来的值[1, 2, 3, 4, 5, 6, 7]//数组的拷贝var c = [1, 2, 3];var d = [...c]; d.push(4); console.log(d);//打印出来的值[1, 2, 3, 4]//数组的合并var j = [7, 1, 2];var...

2018-04-08 16:55:38 270

原创 记录下常用cssrest script

手机端*{  margin: 0;  padding: 0;  -webkit-box-sizing: border-box;  -moz-box-sizing: border-box;  box-sizing: border-box;  max-height: 100000px;}*:before,*:after{max-height: 100000px}html {  -webkit-user...

2018-04-04 18:01:34 261

转载 axios基础封装

script新建axios文件夹,新建index.js fetch.jsfetch.js如下:import axios from 'axios'//定义fetch函数,config为配置export function fetch(config){  //返回promise对象  return new Promise((resolve,reject) =&gt;{    //创建axios实例,把基...

2018-04-04 17:27:04 190

原创 vue 父子组件传值

项目中,经常要遇到父子组件传值,特此,做下笔记:父传子 : prop&lt;page :total="total" :pageLen="pageLen" :lenArr="lenArr" @getCurPage="getCurPage" @getShowNum="getShowNum"&gt;&lt;/page&gt;需求引用父组件的数据 total,pageLen,lenAr

2018-04-04 17:19:32 255

转载 js 闭包

当function嵌套function的时候,内部的function可以访问外部function里的变量,而且当你return的是内部function时,就是一个闭包。内部function会close-over外部function的变量直到内部function结束。function foo(x) {    var tmp = 3;    return function (y) {        a...

2018-03-30 16:26:34 89

原创 js 正则总结

方法:1、testvar string="abvfddsadew";var reg=/ \D/;reg.test(string) //记住test是正则表达式对象的方法。返回值为true或false2. search()用于搜索正则内容,如果搜索到匹配,那么就返回出现的位置,否则返回-13. match()用于寻找匹配的字符串片段,返回所匹配的该片段,并且以数组的形式返回。var string="...

2018-03-30 15:12:32 198

转载 json删除对象属性、 Json对象与Json字符串互转

项目中常会用到经常忘记,特此写下笔记。删除属性,使用deletevar obj = new Object();obj["username"] = "haha";console.log (obj.username);delete obj.username;console.log (obj.username);————————————————JSON.parse(jsonstr); //可以将json...

2018-03-27 20:21:06 447

空空如也

空空如也

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

TA关注的人

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