自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 面试复盘

百度一面手写一个评分组件原型、原型链问题function Person(name) { this.name = name return name}var p = new Person('test')Person.__proto__等于什么?指向Person.prototypenew运算符的原理:创建一个空对象 a = {}将空对象的原型赋值为构造函数的原型 a.__proto__ = A.prototype更改构造函数内部this,将其指向新创建的空对象 A.cal

2020-05-30 00:36:03 816

原创 TypeScript

泛型的理解装饰器装饰器是一种特殊类型的声明,它能够被附加到类声明、方法、访问符、属性或参数上。 装饰器使用@expression这种形式,expression必须是一个函数,它会在运行时被调用,被装饰的声明信息做为参数传入,即在装饰器工厂中target为装饰的信息。装饰器组合示例:function f() { console.log('f求值'); return function(target: any) { console.log('f装饰'); }}

2020-05-28 16:29:10 224

原创 背包问题

0/1背包(拿与不拿是个问题)问题:有一个容量为M的背包,有N件物品,C1、C2…CN表示物体的价值,W1、W2…WN表示物体所占空间大小,求如何拿物品可以使得背包价值最大。思路:dp[i][j]表示最终所拿到的价值,i表示第i个物品,j表示背包容量c[i]表示第i个物品的价值w[i]表示第i个物品的容量第一种情况:当j<w[i]时,即背包容量小于第i个物品的容量,那么所拿价值仍等于上一个物品(上一次)拿到的价值dp[i][j] = dp[i - 1][j]第二种情况:当j>w

2020-05-23 18:50:01 314

原创 常见算法题

// 求第n个斐波拉契数列之和function fibonacciSum(n) { if (n <= 0) { return false } if (n <= 2) { return 1 } let pre = prepre = 1 let current = pre + prere for (let i = 3; i <= n; i++) { current = pre + prepre prepre = pre pr

2020-05-22 15:52:47 353

原创 前端面试整理

一、网络协议相关二、JS基础this指向闭包作用域链三、事件循环机制宏队列 macrotasksetTimeoutsetIntervalsetImmediateI/OUI rendering微队列 microtaskprocess.nextTickpromiseObject.observeMutationObserver四、Vue相关(一)虚拟dom和diff算法为什么使用虚拟dom?因为真实dom的实现内容太多了,如果直接操作真实dom对象,对性能是巨大的浪

2020-05-22 14:40:32 680 1

原创 每日一坑

在vue的css中@xxx的路径前面要加~或者/登录跳板机的时候一定要提高密钥文件的权限,chmod 400 xxx.pem打包上传图片资源的时候,如果图片是强制转换格式很可能会报错。如:png强转成jpg,上传时可能报错pre、post是npm的前置和后置钩子,可以在命令前后执行,见阮一峰npm scripts使用fiddler资源重定向:sourcetree增加了远程分支需要点击获取,才会刷新跨域的请求有自定义请求头时,需要后台配置安卓的测试包是没法请求预..

2020-05-22 10:38:58 641

原创 爬取Whatsapp群链接

一、JS客户端单页爬虫1、定位爬取标签因为该爬虫是要覆盖不同网页,所以不能通过特殊标识来定位标签,只能将所有的a标签爬出来然后对href的内容进行一定的筛选。//预定列表头var linklist = [['链接']]//获取所有的a标签var links = document.getElementsByTagName('a'); for(var link of links){ //筛选出以https://chat.whatsapp.com/为开头的a标签 if (link.

2020-05-21 13:05:11 9784 1

原创 一些实用的Node脚本

一、打包zip文件主要依赖archiverconst fs = require('fs')const archiver = require('archiver')// 创建生成的压缩包路径const output = fs.createWriteStream(__dirname + '/example.zip')const archive = archiver('zip', { zlib: {level: 9} // 设置压缩等级

2020-05-14 14:38:56 831

原创 Webpack优化

拆包 optimization.splitChunksconst optimization = { splitChunks: { cacheGroups: { name: { test: /vue/, // 正则匹配需要拆包的文件 name: '', priority: 100, // 权重 // 全部|异步|同步,多页也可以写成函数返回对应的chunk

2020-05-14 14:37:37 227

原创 react的好帮手——redux

在react生态中redux和react-router扮演着极为重要的角色,那么今天我们就来聊聊react的得力好帮手redux,从“是什么”“怎么用“为什么”三个方面来揭开它的神秘面纱(非小白可以直接跳至第三部分“为什么”)。redux是什么?​ 我们来看一下官方定义: Redux is a predictable state container for JavaScri...

2018-08-15 11:14:37 401

空空如也

空空如也

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

TA关注的人

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