自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 取数组中最大值

首先,定义一个数组:const arr = [2, 6, 4, 20, -3, 8]第一种方法Array.prototype.max = function() { let max = this[0] this.forEach(item => { max = max >= item ? max : item }) return max}const ma...

2019-08-07 14:51:27 491

原创 性能优化日常总结

代码级别优化语义化的标签和代码规范事件委托减少事件注册,节省内存。简化了dom节点更新时,相应事件的更新。适合用事件委托的事件:click,mousedown,mouseup,keydown,keyup,keypress。按需加载动画尽量用css3写懒加载css spritsiconfont节流和防抖vue中路由懒加载和异步组件项目级别优化资源压缩合并,减...

2019-08-06 15:01:06 167

原创 面向对象与继承

类与实例首先,通过两种方式来声明一个类:第一种,构造函数的方式function Animal1(name) { this.name = name}第二种,ES6中的class声明class Animal2 { constructor(name) { this.name = name }}两种方式生成实例的方式是一样的var animal...

2019-08-06 14:43:39 170

原创 flatten(扁平化)数组

前言顾名思义,扁平化就是将嵌套的多维数组变成一维数组的过程。今天将通过几种方式来实现数组的扁平化。先定义这几种方法公用的一个数组const arr = [1, 2, [3, 4, [5, 6]]]初级版初级版也通过两种方式来实现第一种利用数组的concat方法function flatten(arr) { let res = [] arr.map(element =&...

2019-08-05 18:26:15 1850 1

原创 git入门笔记(二)

关联远程仓库本地仓库与github的远程仓库关联的方式有两种:第一种情况第一种情况,我们已经在本地创建了一个git仓库后,又想在GitHub创建一个git仓库,并且让这两个仓库进行远程同步。关联方式如下:在GitHub上新建一个仓库(Repository),假如仓库命名为learngit;在本地的git仓库运行命令:$ git remote add origin git@githu...

2019-08-05 10:18:25 110

原创 git入门笔记(一)

注文中提到的工作区指还没add到暂存区的版本库指已经把暂存区的commit后的初始化初始化一个Git仓库,在当前文件夹,使用git init命令。添加文件到Git仓库添加文件到Git仓库,分两步:使用命令git add filename,注意,可反复多次使用,添加多个文件;$ git add file1.txt$ git add file2.txt file3.txt$ g...

2019-08-05 10:13:08 106

原创 js中的函数节流(throttle)和函数去抖(debounce)

前言 在js中,我们经常会遇到这种情况,需要监听页面的scroll事件或者鼠标的mousemove事件等。由于这些事件在鼠标移动的过程中会被浏览器频繁的触发,会导致对应的事件也会被频繁的触发,这样就会造成很大的浏览器资源开销,而且好多中间的处理是不必要的,这样就会造成浏览器卡顿的现象。我们无法做到让浏览器不去触发对应的事件,但是可以做到让处理事件的方法执行频率减少(throttle)或者在...

2018-05-17 17:32:50 739

原创 js常见算法题

判断一个单词是否是回文var str = 'helloolleh';function checkPalindrom(str) { return str == str.split('').reverse().join('');}console.log(checkPalindrom(str));//true去掉一组整型数组重复的值 let arr = [1, 13, ...

2018-04-17 09:44:10 485

原创 双飞翼布局

前言 双飞翼布局和圣杯布局,都是三栏布局,两侧栏宽度固定,中间栏自适应并且能在浏览器中优先展示渲染。它们实现的效果是一样的,差别在于其实现的思想。 既然了解了这两种布局的功能,接下来我们就来看看具体怎么实现吧。文章中的两种方式都是兼容目前所有的主流浏览器,包括IE6在内;所以是不使用‘box-sizing’属性的。第一个先看看双飞翼布局。双飞翼布局首先,先给出页面结构,...

2018-04-04 15:00:32 1265

原创 js中的深拷贝和浅拷贝

两者的概念和区别对于基本数据类型(Undefined、Null、String、Number、Boolean),浅拷贝是对值的复制,改变其中一个的值另一个不会跟着改变。对于对象来说,浅拷贝是对地址的复制,并没有开辟新的栈,也就是复制的结果是两个对象指向同一个地址,修改其中一个对象的属性,则另一个对象的属性也会改变;而深拷贝则是开辟新的栈,两个对象对应两个不同的地址,修改一个对象的属性,不会改变另...

2018-04-04 09:52:09 222

原创 多台电脑操作hexo个人网站

前言 最近换了个电脑,于是出现在新电脑上如何更新hexo个人网站的问题,网上各种方法,个人觉得还是有些不明白的地方,踩坑无数。最后终于成功,所以特此记下,也希望给其他人能有一些帮助。文章中用‘旧电脑’指代原来已经搭建好hexo的电脑,‘新电脑’指代即将要搭建hexo环境的电脑。 旧电脑上的操作准备工作首先确保自己已经使用hexo在github搭建好了自己的个人博客,git...

2018-03-28 10:04:14 3768

原创 关于Vue中的计算属性computed

为什么要使用计算属性(computed)我们都知道,在Vue中,对于所有的数据绑定,Vue.js 都提供了完全的 JavaScript 表达式支持。 看看代码:{{ number + 1 }}{{ ok ? 'YES' : 'NO' }}{{ message.split('').reverse().join('') }}<div v-bind:id="'list-'...

2018-03-12 18:09:45 3027

原创 输入框和文字对齐方式

一、           checkbox、radio和后面的文字如果不加样式,会导致checkbox和文字不对齐。解决办法:             checkbox、radio加样式:vertical-align:middle;二、textarea和前面的文字如果不加样式,会导致前面的文字默认在左下角。如果想让文字在输入框的左上角,解决办法:textarea加样

2017-08-15 17:59:47 9872

原创 jsonp解决跨域问题

利用标签没有跨域限制的“漏洞”(历史遗迹)来达到与第三方通讯的目的。第三方产生的响应为json数据的包装(故称之为jsonp,即json padding)它的基本思想是,网页通过添加一个元素,向服务器请求JSON数据,这种做法不受同源政策限制;服务器收到请求后,将数据放在一个指定名字的回调函数里传回来。首先,网页动态插入元素,由它向跨源网址发出请求。

2017-08-10 10:48:41 271

空空如也

空空如也

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

TA关注的人

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