自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Carol的小星球

这是一个正在努力的程序媛的博客,记录一些学习前端的日常。

原创 移动端适配之脚本的加载控制

我在写项目的时候,会把一些特效用script脚本加载进来,这样在网页上看起来就非常漂亮,但是放在移动端,不仅消耗性能,而且非常的丑。 于是我经过学习,发现可以这样来控制是否加载script。 拿我用的CDN上的蜂窝特效举例: <script src="can...

2018-12-29 16:54:52

阅读数 49

评论数 0

原创 记一次项目上线过程

以前嫌麻烦,自己写了很多小demo,却从未考虑过上线给其他人使用。后来有一个面试官告诉我,你身为开发,做出来的项目就是要给别人用的。于是后来我买了一个阿里云的学生服务器,也很便宜,一个月9.5。然后为我的博客买了一个域名,开始了学习上线之路。 1.首先记得要把前端项目里面的baseURL加入线上...

2018-12-28 16:36:33

阅读数 69

评论数 0

原创 如何在Vue项目中实现吸顶元素

我的思路就是判断合适的时候将这个元素的position设为fixed,那么这个合适的时机如何判断呢?我们可以计算页面滚动的距离。 监听页面滚动状态 在mounted回调中加入以下代码: mounted() { // handleScroll为页面滚动的监听回调 window.addEven...

2018-12-26 15:13:00

阅读数 589

评论数 0

原创 图的最短路径-Dijkstra算法和Floyd算法

Dijkstra算法 单源点最短路径问题 Dijkstra算法主要用来解决单源点最短路径问题。 给定带权有向图G=(V,E),其中每条边的权是非负数。另外,还给定V中的一个顶点,称为源。现在要计算从源到所有其他各顶点的最短路径长度,这里路径的长度是指路径上各边权之和。这个问题通常称为单源最短路径问...

2018-12-26 15:02:00

阅读数 205

评论数 0

原创 图的BFS和DFS算法

图 图是一种灵活的数据结构,一般作为一种模型用来定义对象之间的关系或联系。对象由顶点(V)表示,而对象之间的关系或者关联则通过图的边(E)来表示。 图可以分为有向图和无向图,一般用G=(V,E)来表示图。经常用邻接矩阵或者邻接表来描述一副图。 在图的基本算法中,最初需要接触的就是图的遍历算法,根据...

2018-12-26 11:25:54

阅读数 45

评论数 0

原创 基于Vue.js+Koa+MySQL开发的个人博客

我的博客 一直以来都想自己做一些个人项目, 于是想到了先做一个博客项目练练手。在GitHub上找了很多大神的开源博客项目来学习,慢慢的自己也完成了一个简单版本的博客,并部署上线。 目前项目已经全部部署到服务器,但域名还在备案,因此只能先通过IP地址访问。 线上地址 前端项目 后端项目 因为我做的这...

2018-12-23 00:49:41

阅读数 554

评论数 0

原创 TypeScript总结

TypeScript主要是为了解决JavaScript的弱类型和没有命名空间的特点。JS作为弱类型语言,好处就是编译的时候更简洁更灵活,但对于大型项目,强类型更有利,可以降低系统的复杂度,在编译时就发现类型错误。 在语法上,TypeScript并没有摒弃JS语法,而是做成了JS的超集,因此任何JS...

2018-12-18 10:39:35

阅读数 109

评论数 0

原创 浏览器内核总结

Trident Microsoft公司浏览器内核,IE6、IE7、IE8(Trident 4.0)、IE9(Trident 5.0)、IE10(Trident 6.0)及许多品牌浏览器的内核。其中部分浏览器的新版本是“双核”甚至是“多核”,其中一个内核是Trident,然后再增加一个其他内核。 G...

2018-12-15 01:05:37

阅读数 16

评论数 0

原创 vue的生命周期

就是vue实例从创建到销毁的过程。 创建前/后: beforeCreated:此时vue实例还没有挂载元素$ el,data也是undefined created:vue实例的data有了,但是$ el没有。 载入前/后: beforeMount:vue实例的$el和data都初始化了,但是还挂载...

2018-12-13 18:55:43

阅读数 78

评论数 1

原创 vuex的使用详解

在SPA单页面组件的开发中 Vue的vuex和React的Redux 都统称为同一状态管理。简单的理解就是你在state中定义了一个数据之后,你可以在所在项目中的任何一个组件里进行获取、进行修改,并且你的修改可以得到全局的响应变更。 vuex的五个对象 state:存储状态。也就是变量; 定义 n...

2018-12-13 18:39:51

阅读数 69

评论数 0

原创 MVVM、MVC、MVP之间的区别

MVC、MVP及MVVM都是一种架构模式,都是用来解决界面呈现和逻辑代码分离而出现的模式。 MVC 实线表示调用,虚线表示事件通知。 Model:是程序需要操作的数据以及数据的处理方法。 View:它是提供给用户的操作界面。 Controller:页面的业务逻辑,接收View层传递过来的指令,选...

2018-12-13 17:37:55

阅读数 81

评论数 0

原创 JavaScript中各种遍历方法的总结

for 最基础的循环 for…in 可以用来遍历对象 var o ={ name:"jack", age:20, city:"beijing" }; for (v...

2018-12-13 16:52:53

阅读数 40

评论数 0

原创 ES6中的Set和Map

Set Set是ES6中提供的一种新的数据结构。类似于数组,但是成员值都是唯一的,不会重复。 它本身是一个构造函数,生成Set数据结构。 var s=new Set(); 属性: Set.prototype.constructor:指向构造函数Set Set.prototype.size:返回s...

2018-12-13 16:32:10

阅读数 22

评论数 0

原创 CSS三列布局总结

三列布局就是左右两栏定宽且不一定相等,中间一栏自适应。 有以下几种方法: 1.圣杯布局 2.双飞翼布局 3.弹性布局 4.绝对布局

2018-12-13 15:26:22

阅读数 36

评论数 0

原创 CSS两列布局总结

两列布局是左边一栏定宽,右边一栏自适应的布局。 有以下几种实现方法: 1.左边向左浮动,右边设margin-left 2.左边绝对定位,右边设margin-left 3.加一个父级flex容器,右边flex:1 4.左边向左浮动,右边触发BFC ...

2018-12-13 14:37:34

阅读数 194

评论数 0

原创 webpack详解

webpack是什么 现在的web应用都拥有着复杂的代码和一大堆依赖包,为了简化开发,也出现了很多好的应对措施:模块化可以让复杂的程序细化为小的文件,还有TypeScript、Sass、less这类预处理语言可以简化编写。但是这些方法都不能直接被浏览器识别,这时webpack这类工具就提供了帮助。...

2018-12-13 01:23:35

阅读数 56

评论数 0

原创 CSS盒模型及边距重叠

盒模型由content,padding,border,margin组成。 两种模型 W3C标准模型和IE模型。 在标准模型中,盒的宽高只是内容的宽高。 在IE模型中宽高是content+padding+border的宽高。 如何设置 通过设置box-sizing:content-box/bor...

2018-12-13 00:20:03

阅读数 52

评论数 0

原创 JavaScript数组扁平化

数组扁平化,也就是把包含几个嵌套数组的数组转化成一个一维数组。 有以下几种方法: 1.reduce遍历数组每一项,若值为数组就递归遍历,否则cancat function flatten(arr) { return arr.reduce((result, item)=&am...

2018-12-13 00:06:56

阅读数 87

评论数 0

原创 JavaScript柯里化

柯里化就是分批接受参数,不会立刻求值,而是到了需要的时候才去求值。主要用于数据量非常大的情况。 在形式上,柯里化就是把接收多个参数的函数变为接收单一参数的函数(需要柯里化的函数的第一个参数),并且返回一个接收剩下的参数并返回结果的新函数。 本质上,柯里化利用的是闭包。 例如一个加法函数: func...

2018-12-12 23:49:49

阅读数 58

评论数 0

原创 防抖和节流

防抖(debounce)和节流(throttle)是针对响应跟不上触发频率这类问题的两种解决方案。 防抖(debounce) 当事件被触发时,设定一个周期延迟执行动作,若期间又被触发,则重新设定周期,直到周期结束,执行动作(用于搜索输入) function debounce(fn, delay) ...

2018-12-12 23:45:15

阅读数 28

评论数 0

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