- 博客(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关注的人