自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 webpack tree shaking 踩坑

首先描述一下问题场景一个项目中webpack升级到4.x.x版本后在development模式下项目是完全正常工作的,但是在production模式下没有把antd的css文件打包进去。项目中webpack和antd的版本如下:antd:3.4.5webpack:4.27.0项目中我们是这样引入antd的样式文件的:import 'antd/dist/antd.css';...

2018-12-14 11:27:22 1162

翻译 gitlab-ci配置

本文翻译自:https://docs.gitlab.com/ee/ci/yaml/README.html在.gitlab-ci.yml中配置你的工作流这篇文章描述了.gitlab-ci.yml的用法,.gitlab-ci.yml文件被Gitlab Runner用来管理你的jobs。从7.12版本开始,Gitlab CI 用YAML文件(.gitlab-ci.yml)来配置项目。它...

2018-12-09 16:33:34 1707

原创 复习笔记系列(二)——数组(ES6中的数组)

以下内容是阅读阮一峰老师的《ECMAScript入门》的一些笔记一. 扩展运算符功能:将一个数组转化为用逗号分隔的参数序列应用场景:1.复制数组2.合并数组3.与解构赋值结合4.字符串5.实现了Iterator接口的对象(任何Iterator接口的对象都可以用扩展运算符转化为真正的数组)6.Map和Set结构,Generator函数注意: 1.扩展运算符后面可以放置表达式 2.如果扩展运算符后面是...

2018-03-25 21:25:44 608

原创 js设计模式—单例模式

单例模式可以说是js中最常用的设计模式了,主要用来进行模块的管理,提供一个命名空间,以减少全局变量的定义,避免产生变量冲突。例如在团队项目开发的时候,我们可以为自己的代码定义一个命名空间:var Tom = { eat: function(){ }, run: function(){ }, sleep: function(){

2017-12-24 16:42:15 205

原创 js设计模式—建造者模式

建造者模式:将一个复杂对象的构建层与其表示层相互分离,同样的构建过程可以采用不同的表示。主要用于分步骤构建一个负责的对象,在这其中“分步骤”是一个稳定的算法,而复杂对象的各个部分则经常变化。下面我们通过一个代码来说明:// 创建一个应聘者对象// 可以把这个复杂的应聘者对象分为三个对象:// 1.人类对象// 2.姓名对象// 3.工作对象//人类var Human = func

2017-12-24 15:46:00 348

原创 JS中的继承实现

一.类式继承//父类function superClass(value){ this.superValue = value;}superClass.prototype.getSuperValue = function(){ return this.superValue;}//子类function subClass(value){ this.subValue

2017-12-23 15:25:30 124

原创 浅析浏览器缓存背后的HTTP

一. 回车分为两种情况:1.请求的URI在浏览器缓存中未过期,此时直接从浏览器缓存中读取资源。2.请求的URI在浏览器缓存中过期了,此时会在请求头中出If-Modified-Since或If-None-Match等(具体字段可能不同)向服务器确认此URI请求的资源是否更新过,其中If-Modified-Since是的时间是由上次HTTP响应的Last-Modified决定的,而If-Non

2017-10-31 10:19:13 217

原创 CSS布局——水平居中

这两天,在网上做项目的时候发现以前一直把重点放在js上,基础的css现在反倒成了比较薄弱的一块,使用时感觉很混乱的样子。所以决定趁着毕业之前梳理一下css方面的知识点,来一波css系列。让一个元素进行水平居中是在实际项目中再平常不过的需求了,可以由以下两种方法来实现:1.使用自动空白边让元素居中 #wrapper{ width: 100px;

2017-10-15 10:07:35 436

原创 使用margin总结

1.垂直外边距合并问题当两个垂直外边距相遇时,它们将形成一个外边距。合并后的外边距的高度等于两个发生合并的外边距的高度中的较大者。注意点:当一个盒子如果没有上内边距和上边框,那么这个盒子的上边距会和其内部文档流中的第一个子元素的上边距重叠。解决方案:1.使用父元素的padding来隔离与子元素之间的距离2.设置父元素的overflow为hidden;第一种方法比较好理解

2017-09-21 20:21:20 212

原创 四种排序算法的js实现

选择排序平均时间复杂度O(n2)空间复杂度O(1)(用于交换时作为临时变量)算法描述:第一次遍历所有的元素,找出最小的那个放在一号位上第二次遍历n-1次,找出剩余元素中最小的那个放在二号位上以此类推。。。。。。function selectSort(arr){ if(!Array.isArray(arr)) return; //临时变量 le

2017-09-10 18:31:37 198

原创 前端笔试题(2017年9月)

1.给定一组数据要求找出数组中任意三个数和为0如[-1, 0, 1, 2, -1, 4],返回[-1,-1,2][-1,0,1]首先找出数组中所有和为0的组合:解法一:枚举(时间复杂度O^3)function query(arr){let result = [];let len = arr.length;for(let i=0; ilen

2017-09-05 21:07:20 566

原创 js正则表达式的选择、分组、引用

分组:字符串“|”用于分隔供选择的字符选择的尝试匹配次序是从左到右,直到发现了匹配项,就忽略右边的匹配项,即使它产生了更好的匹配。"ab".match(/a|ab/)//["a", index: 0, input: "ab"]上面的匹配即便ab更合适但还是只会匹配a分组:使用()把单独的项组合成子表达式,以便可以像处理一个独立的单元那样用“|”、“*”、“+”、“?”等来对单元内

2017-09-04 23:07:11 3835

原创 js正则表达式的贪婪匹配和非贪婪匹配

所谓贪婪匹配就是匹配重复字符是尽可能多的匹配,比如:"aaaaa".match(/a+/);//["aaaaa", index: 0, input: "aaaaa"]非贪婪匹配就是尽可能少的匹配,用法就是在量词后面加上一个“?”,比如:"aaaaa".match(/a+?/);//["a", index: 0, input: "aaaaa"]但是非贪婪匹配有时候和我们期待的并不

2017-09-04 22:31:28 5588

原创 深入理解事件冒泡和事件捕捉

前几天做到阿里的前端面试题,其中的一道选择题考查的知识点就是事件的传播,当时做题的时候不确定答案所以决定总结下这方面的知识点。首先事件传播分为三个阶段:第一阶段:发生在目标处理程序调用之前,称为捕获阶段;第二阶段:目标对象本身的事件处理程序调用;第三阶段:发生在目标处理程序调用之后,称为冒泡阶段;回顾历史:两种模型早期在事件处理顺序上Netscape和微软有两种截然

2017-08-29 21:54:54 294

原创 ES6变量的解构赋值

以下内容来自阮一峰老师的ECMAscript入门1.数组的解构赋值ES6允许按照一定的模式,从数组和对象中提取值,对变量进行赋值,这被称为解构赋值。本质上,这种写法属于“模式匹配”,只要等号两边的模式相同,左边的变量就会被赋予对应的值。let [a,b,c] = [1,2,3];注意:如果等号的右边是不可遍历的结构,那么将会报错。只要某种数据结构具有Iterator接口,都可以采用

2017-08-15 09:44:32 205

原创 返回结果的HTTP状态码

1.状态码以3位数字和原因短语组成,第一位指定了响应类别,后两位无分类。 类别原因短语1xxinformational(信息状态码)接受的请求正在处理2xxSuccess(成功状态码)请求正常处理完毕3xxRedirection(重定向状态码)需要进行附加操作以完成请求4xxClient Err

2017-08-13 11:14:21 247

原创 HTTP报文内的HTTP报文信息

1.HTTP报文用于HTTP协议交互的信息被称为HTTP报文。请求端(客户端)的HTTP报文叫做请求报文,响应端(服务器端)的叫做响应报文。HTTP报文是由多行(用CR+LF作换行符)数据结构的字符串文本。HTTP报文大致可分为报文首部和报文主体两块。两者由最初出现的空行(CR+LF)来划分。通常,并不一定到有报文主体。                             

2017-08-10 21:15:46 488

转载 深入理解css行高与基线

非常推荐这篇文章

2017-08-09 23:53:32 481

原创 简单的http协议

HTTP协议规定,请求从客户端发出,最后服务器响应该请求并返回。请求报文是由请求方法、请求URI、协议版本、可选的选的请求首部字段和内容实体构成响应报文基本上由协议、状态码(表示请求成功或失败的数字代码)、用以解释状态码的原因短语、可选的响应首部字段以及实体主体构成http是一种不保存状态,即无状态的协议。使用http协议,每当有新的请求发送时,就会有新的响应产

2017-08-09 21:54:08 206

原创 复习笔记系列(一)—— 数组(ES5中的数组)

为了巩固下前面学习的以前学习的知识,所以打算写一个系列的笔记博客,同时对比分析下ES5 和 ES6(泛指ES2015以后的版本)的区别。今天先来复习下数组。1.创建数组方法一:数组直接量var arr = [];注意两点:1.直接量中的某个值,省略的元素将被赋予undefined值 2.直接量的语法允许有可选的逗号,故[,,]只有两个元素而非三个。方法二:调用构造函数var

2017-08-07 22:54:54 461

原创 如何调整学习内容

这两天一直在为是否应该去把精力放一部分在数据结构和算法上烦恼,因为就自己目前接触到的实际情况上来看用到的数据结构和算法上的知识很少,但是一看那些面试题又好像考算法和数据结构的内容还是挺多的(好纠结)。另一方面感觉自己前端这一方面好多知识点掌握的也不扎实,还有英语这个永远的痛,马上就要步入大四,马上就要面临秋招,以前大一大二是为不确定方向烦恼,现在是为不知道如何分配时间烦恼.不过今天郁闷的时

2017-08-06 16:58:34 193

原创 一道笔试题引发的一系列js类型转换的坑

前两天看到这道笔试题当时做错了,我的答案是true false false(大家可以想下自己的答案)然后仔细查阅了一下资料发现js的类型转换确实还是挺多小坑的,下面是我整理的资料,相信看完这道题也就迎刃而解了:js中的==和===第一题:[]会转换成为一个布尔值,根据前面说的所有的对象都转换为true,则第一题返回true第二题:首先[]会转换为原始值,首先调用valu

2017-08-06 12:43:04 540

原创 js中 == 和 ===

js中的==和===真的让人感觉非常奇怪,有时候会产生很多错觉。为此就根据《js权威指南》中的介绍详细的解释梳理了一下两者的区别。==运算符称作“相等运算符”===运算符称作“严格相等运算符”或者“恒等运算符”严格相等运算符首先计算其操作数的值,然后比较这两个值,比较过程中,没有任何类型转换:1.如果两个值类型不相等,则他们不想等。2.如果其中一个值是NaN,或者两个值

2017-08-05 18:31:00 809 1

原创 js中的原始值和包装对象

var s = "hello world";console.log(s) //11思考一个问题:字符串在js中属于基本数据类型,为什么会有属性呢?在js中只要引用了字符串s的属性,js就会将字符串值通过new String(s)的方式转换成对象,这个对象继承了字符串的方法,并用来处理属性的引用。一旦引用结束,这个新创建的对象就会销毁(具体实现未必是销毁,表现形式是这样的)var s

2017-08-05 16:52:06 1196

原创 js中的类型转换

前两天看到上面这道笔试题,当时做错了,我的答案是true false false,大家可以想下自己的答案。回去仔细查阅资料后总结了一下知识点:下表来自js权威指南那些以数字表示的字符串可以直接转换为数字,也允许在开始和结尾处带有空格。

2017-08-05 14:35:48 819

原创 起点

2017年8月1号,我写了自己的第一篇博客,但是当时只是为了测试就没好好写,发表完以后就删了。其实很早以前就想写博客了,但是一方面觉得自己的知识掌握的不够透彻,不太敢往网上发,另一方面一直在学习新的东西所以时间也没时间静下心来写。直到最近在实习的过程中发现每次在项目中遇到以前学的知识点想要复习的时候没有一个很好的记录。所以就开始了我的第一篇博客。当我真正开始写博客的时候我惊讶的发现其实写博客不光是

2017-08-05 13:53:50 194

原创 重构和回流

张鑫旭老师的文章写得非常详细大家可以看看

2017-08-04 00:00:09 658

原创 浏览器的加载、解析、渲染

首先抛出写这篇文章之前一直在思考的两个问题:1.浏览器在加载外部css文件和图片文件时是同步加载还是异步加载?2.浏览器的加载和渲染时同时进行的还是先加载完成再渲染?下面的是我查到的一些资料和自己的一些理解:浏览器加载和解析html页面过程1.用户输入url,浏览器向服务器发出请求,服务器返回html文件2.浏览器开始加载html代码,发现标签内有一个link标签引

2017-08-03 22:25:09 349

转载 html、css、js文件加载顺序及执行情况

今天看书,看到html,css,js加载执行情况,发现自己并不是真正的了解,网上搜了半小时依然未弄明白,就在这时我找到了让我恍然大悟的一段话,如下:HTML页面加载和解析流程 1. 用户输入网址(假设是个html页面,并且是第一次访问),浏览器向服务器发出请求,服务器返回html文件。 2. 浏览器开始载入html代码,发现<head>标签内有一个<link>标签引用外部CSS文件。 3. 浏览器

2017-08-02 23:14:16 310 1

空空如也

空空如也

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

TA关注的人

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