自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 资源 (5)
  • 收藏
  • 关注

原创 web页面性能优化方法总结

最近老大给我布置了一道作业,让我去想想有哪些办法可以优化web页面的性能,回头一看,做了这么多年的前端开发,多少还是知道一些常规的性能优化策略,以下是我对性能优化的一个总结,共13点,如果描述错误,欢迎指正:1.使用cdn对于需要展示大量图片等静态资源的页面,可以将图片等静态资源放在cdn上,这样可以加速对资源的获取。2.合并http请求比如对于较小的图片,可以将其转换成bas...

2020-03-24 13:31:48 1617

原创 解决eslint检查报Definition for rule 'vue/component-definition-name-casing' was not found

在使用eslint检查使用vue-property-decorator来辅助编写typescript的时候,出现了一个问题:如下 1:1 error Definition for rule 'vue/component-definition-name-casing' was not found vue/component-definition-name-casing 1:1 ...

2020-03-19 10:12:42 25821

原创 js查找两个字符串中最长的公共子串

function find(str1,str2){ //创建一个二维数组 let temp = new Array() let max = 0 let index = null for (let i = 0; i < str1.length; i++) { //初始化为二维数组 temp[i] = new Array() for (let j =...

2019-01-17 17:22:46 5716

原创 js实现两个字符串数字相加(大数相加)

最近遇到一个问题,如果两个字符串中保存的是数字,要把比较大的两个数字相加起来(比如:4121323422+9387864261),实现代码如下,在补零的过程比较复杂,如果有更简单的办法,欢迎留言告诉我,谢谢!function sub(str1, str2){ // 补全0,并多补一位0 let arr1 = null,arr2 = null if(str1.length>s...

2019-01-17 16:32:12 9304 1

原创 用单例模式实现一个前端存储对象storage

在设计模式中,有一种特别的模式,叫单例模式,单例模式是指:通过调用同一个方法生成的对象永远只有一个(多次调用生成的对象是相同)。下面是实现的一个存储数据的单例对象的栗子。// 实现一个单例模式模式的storagefunction Storage(){ }// 使用闭包一个_instence对象,由于闭包的作用,这个对象一旦实例化,就会一直存在内存中Storage.getInste...

2019-01-17 10:17:35 836 1

原创 函数节流和函数防抖

函数节流概念:在规定的时间段内(例如1000ms),即使事件触发了很多次,都只执行一次对应的任务。栗子:在我们进入地铁站时通过闸机,每隔3秒内只允许一个人通过,即使多个人同时刷卡,也只允许一个人通过。运用场景:如果我们在改变浏览器的大小或者监听鼠标移动事件等事件(短时间内触发多次),为了节省浏览器性能开销,就可以使函数节流来优化。代码实现:(function(){ l...

2019-01-17 10:02:19 155

原创 javascript实现递归地拉平数组

题目:递归实现一个函数flatten(arr)描述:递归拉平数组输入:array输出:拉平的数组栗子:flatten(a([1,[2,[3,[4,5],6],7]]))   //[1, 2, 3, 4, 5, 6]var x=[]function flatten(arr){ for(let i=0;i<arr.length;i++){ if(arr[i].len...

2018-12-17 20:02:27 1403

原创 一道面试题

题目如下:实现一个get函数,使得下面的调用可以输出正确的结果const obj = { selector: { to: { toutiao: "FE Coder"} }, target: [1, 2, { name: 'byted'}]};get(obj, 'selector.to.toutiao', 'target[0]', 'target[2].name');// [ 'FE...

2018-12-06 01:14:24 146

原创 解决js计算0.1+0.2 !==0.3

经常做用js数据运算的同学应该了解,在js中,0.1+0.2不会等于0.3,而是等于:我一开始发现这个bug的时候也觉得很奇怪,那怎么去解决这个bug,让0.1+0.2 最后能得到0.3呢?方法一最简单的就是先把0.1和0.2换成别的数字(因为在js中只有这两个数相加有bug,例如:1.1+1.2不会有问题),所以先让0.1和0.2分别乘以10,求和之后再除以10 ,则不会有问题:...

2018-12-04 15:09:49 6967 3

原创 JavaScript实现快速排序代码

快速排序的算法我就不多说了,网上多的是,其主要的思路就是分而治之,最开始找一个数a,将数组中所有大于a的数都移动到a的右边,小于a的数都移动到a的左边,再从a的位置将数组一分为二,继续迭代执行上面的操作。talk is cheap,show me the code! (function fastSort(){ let arr = [4,3,7,9,6] let...

2018-11-29 22:22:04 397

原创 用javascript让(a==1&&a==2&&a==3)为true

这是一道经典的题目,考察的主要是js的类型隐式转换。分析一拿到这道题,我们先考虑到的应该是a应该是什么类型,在a==**的时候发生了什么?再去考虑a应该等于什么。首先,如果a是一个对象,那在执行a==的时候首先会去先执行valueOf方法,如果没有value方法,就会去执行toString方法。因此我们可以改写a对象的toString方法:let a = { i : 1,...

2018-11-15 09:51:13 3344

原创 javascript解决背包问题

背包问题:给定 n 种物品和一个容量为 C 的背包,物品 i 的重量是 w[i],其价值为 v[i] 。问:应该如何选择装入背包的物品,使得装入背包中的物品的总价值最大?分析:n种物品,每一种要么放入背包,要么不放(在背包装不下的情况不放)解决:使用一个数组temp来存储当面对第i件商品,背包容积为j时的最大价值,我们很容易分析出temp的计算规则:1)、当第i件商品的...

2018-11-15 09:10:38 805

原创 js实现二维数组元素两两组合

 代码实现:给一个数组如:[[“a”,”b”,”c”],[“d”,”e”],…..]得到[ad,ae,bd,be,cd,ce](function () { let a = [[1, 2, 3, 4, 5], ["a", "b", "d"], [6, 7, 8, 9], ["a", "s", "d", "w"], [11, 12, 13, 14, 1

2018-11-07 11:29:38 6187

原创 js实现链表操作,计算两个链表对应数之和

最近在网上看到一道题,题目如下:给定两个非空链表来表示两个非负整数。位数按照逆序方式存储,它们的每个节点只存储单个数字。将两数相加返回一个新的链表。你可以假设除了数字 0 之外,这两个数字都不会以零开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -> 8原因:342 + 465 = 807...

2018-11-07 09:07:22 1416 1

原创 js实现字符串中找最大的回文子串

回文串就是正着读和倒过来读字符的顺序是一样的,字符串中找最大的回文子串,我这里有两种方法来寻找。方法一:找出字符串的所有子串,判断子串是否是回文串function findPalindrome () { let arr1 = 'asdfgfdsgh' let self = this let result = '' for (let i = ...

2018-11-05 21:31:40 2234 1

原创 彻底解决跳台梯问题

台梯问题大致描述是这样的:n阶楼梯,一次最多可跳x次(1、2、3、4、、x都可以),有多少种可能?为了降低难度,我们令n等于1这类问题我们一时半会可能找不到头绪,这个时候,不妨先列举出一些例子,在本题中,我们可以先算出m等于1、2、3、4、5的结果。n=1,可能性有1种 n=2,可能性有2种 n=3,可能性有4种 n=4,可能性有8种 n=5,可能性有15种 n=6,可能性有2...

2018-11-02 15:13:48 156

原创 javascript的setTimeout方法并不是隔固定时间执行

最近发现一个误区,以前老是认为setTimeout方法里边传入函数会在自己规定的时间内自动执行,结果不是,请看下边的例子: (function actions () { let timer clearTimeout(timer) let end let star = new Date() console.log('star'+s...

2018-11-02 12:34:02 2237 2

原创 JS编程实现简单模板引擎变量替换

最近看了一道题:JS编码实现一个render方法,使得可议这样调用: const year = ‘2017’; const month = ‘09’; const day = ‘21’; const str = render(‘year−year−{month}-${day}’)({year,month,day}); console.log(str)//输出2017-09-21我...

2018-11-02 11:15:30 2043

原创 js实现不同数组m选n个数的组合算法

原理比较简单,m数组中的每个数要么出现,要么不出现,只要满足n个数出现就可以了算法步骤:1、先生成一个和m数组一样长度的临时数组flagArr(数组中除了0,就是1),flagArr中值为1的表示m该在位置的数字出现,0则表示不出现。初始化flagArr,前n位为1,其他全为0。2、每次从左往右遍历数组flagArr,遇到第一个10,就将其变成01,再将变化位置左边所有1移动到数组的最...

2018-11-02 10:52:11 4032

原创 js实现在不重复的数组m中找到N位不重复的数的所有组合

原理比较简单,m数组中的每个数要么出现,要么不出现,只要满足n个数出现就可以了算法步骤:先生成一个和m数组一样长度的临时数组temp(数组中除了0,就是1),temp中值为1的表示m该在位置的数字出现,0则表示不出现。初始化temp,前n位为1,其他全为0。 每次从左往右遍历数组temp,遇到第一个10,就将其变成01,再将变化位置左边所有1移动到数组的最左边。输出(保存)当前数组tem...

2018-11-02 10:11:27 1711

原创 用js实现二叉树,完成深度遍历

最近研究了一下二叉树,闲来没事用js自己动手实现了一遍,欢迎各位大牛拍砖 一个二叉树数据结构的属性一般包含:节点及节点的值(代码中的node);节点之间的边关系(连接关系,代码中的line)// 二叉树对象实现 function binaryTree (opt) { let tree = { node: opt.node, line: ...

2018-11-02 09:54:32 781

原创 windows客户端使用putty(SSH连接工具)连接远程主机

    最近在阿里云上租了一台ECS,连接方式改成了非对称加密密钥连接,密钥文件是从阿里云服务器上下载来的,以.pem结尾的文件,在家的电脑使用的是windows, 于是找了一个免费的ssh工具putty来连接服务器。       putty是一款免费的SHH连接工具,下载地址:https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.ht...

2018-05-26 20:57:48 18049

原创 使用MAC自带的shell连接阿里云主机(使用SSH通过.pem密钥文件连接)

    当我们在云服务器厂商那里买到主机后,新手接下来要考虑的事情就是怎么去连接远程主机,本文主要介绍怎么使用MAC自带的shell远程连接主机,而且是使用SSH通过.pem密钥文件作为校验方法去连接。准备工作:1、密钥文件***.pem,2、打开MAC终端(shell)操作在终端中输入:ssh -i 密钥文件路径/***.pem root@IP地址例如:ssh -i /Users/mac/Des...

2018-05-26 20:01:33 4070

webpack4.0配置

webpack4.0基本配置模版,可以根据实际情况升级自己的webpack

2019-01-08

koa2实战项目源码

这是一个基于koa后端项目,项目包含了一个完整的登录过程,包含前端页面,后端接口,连接数据库,数据库建表源码,各种中间件

2018-12-29

双向数据绑定源码(三种方式)

双向数据绑定源码(三种方式:手动绑定、脏值检查、数据劫持)

2018-12-18

数据结构 源程序

这是一个我们教学的资源,适合初步数据结构的人

2014-05-18

空空如也

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

TA关注的人

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