4 张小锐

尚未进行身份认证

程序员之所以犯错误,不是因为他们不懂,而是因为他们自以为什么都懂。

等级
TA的排名 24w+

取数组中最大值

首先,定义一个数组: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

性能优化日常总结

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

2019-08-06 15:01:06

面向对象与继承

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

2019-08-06 14:43:39

flatten(扁平化)数组

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

2019-08-05 18:26:15

git入门笔记(二)

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

2019-08-05 10:18:25

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

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

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

2018-05-17 17:32:50

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

双飞翼布局

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

2018-04-04 15:00:32

js中的深拷贝和浅拷贝

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

2018-04-04 09:52:09

多台电脑操作hexo个人网站

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

2018-03-28 10:04:14

关于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

输入框和文字对齐方式

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

2017-08-15 17:59:47

jsonp解决跨域问题

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

2017-08-10 10:48:41
勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。