自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 2021-07-08HTML再回顾

HTML标题基本骨架结构vscode建议安装的插件HTML常用标签<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title></head&

2021-07-08 17:30:49 172

原创 面经资料合集

面经:FE-Interview牛客github[手写编程题]学习资料:每周GitHub推荐-前端学习面试篇项目:视频:4天突击大厂常见前端面试题(2020版)

2020-12-12 17:18:42 161

原创 面经问题解析

2020-12-12 17:18:21 142

原创 数组拍平啦啦啦啦~

还是照旧贴上写的很好的博客。。。数组拍平1接下来就自己复述阶段啦1、人家数组有自己拍平的方法flat啊,(还用得着自己写?)arr.flat(Infinity)//不管你多少层都拍成1层arr.flat(1)// [ 1, [ 2 ], [ 3, [ 4, 5 ] ] ]=>[ 1, 2, 3, [ 4, 5 ] ],只拍平了第一层的元素arr.flat()//不传值,默认为arr.flat(1)要注意的一个点啦:arr.flat()是返回值新的改变的数组,但是原来的数组并没有改变

2020-09-01 10:00:35 136

原创 关于TCP拥塞控制的理解和TCP流量控制

拥塞和拥塞控制TCP的拥塞控制(详解)拥塞及控制这两篇讲的非常好。赞。。。接下来谈一下看后自己对拥塞控制的理解。网络拥塞概念拥塞 当网络中存在过多的报文时,网络的性能就会相应下降,这种现象就被成为拥塞。拥塞控制 要考虑到整个网络环境,使其负载不能超过网络的最大承受能力。显然拥塞发生的原因是因为“需求”大于了“供给”,网络中的有限资源被多用户共享使用,网络本身无法根据资源的利用情况来限制某些用户,并且随着目前互联网的发展,上网的用户和应用的数量也随之增长,这样,如果不采取某种措施来协调资源的使

2020-09-01 08:12:44 364

原创 手写一个bind函数,利用扩展运算符之简易版

//手写一个mybind,必须放到Function.prototype中,这样函数才能掉用呀Function.prototype.mybind = function (...args) {//获取当前的this let slef = this //获取第一个参数 let context = args.slice(0, 1) //返回的是一个函数 return function (...args1) { //拼接参数,并用apply来实现 slef.apply(conte

2020-08-19 08:38:07 147 1

原创 手动实现一个简易Promise.all和Promise.race

手写一个简易Promise.alllet allPromise = function (arr) {//存储结果 let results = [] //要可以实现then和catch等,自然就是返回Promise结构 return new Promise((reslove, reject) => { for (let i = 0; i < arr.length; i++) { arr[i].then(data => { results.p

2020-08-16 08:57:30 542

原创 js关于二维数组复制的奇怪(并不)现象

let arr = [ [1, 2, 3, 4], [3]]let arr1 = arr.concat([])arr1[0].push(5)console.log(arr, arr1, arr === arr1, arr[0] === arr1[0]);//[ [ 1, 2, 5 ], [ 3 ] ] [ [ 1, 2, 5 ], [ 3 ] ] false true由上述的代码可知,当二维数组进行复制的时候,(用concat、slice等数组方法的时候)只是对外层维进行深复制,而每层

2020-08-04 10:54:50 189

原创 js柯里化之无敌最终版

function addCurrying(...arg) { //接受第一组参数 let args = arg var temp = function (...newArgs) { //接收各组参数 args = [ ...args, ...newArgs ] return temp } //当被alert()、或者console.log()时,调用toSt

2020-07-20 15:08:16 103

原创 关于ES5和ES6的继承问题(区别吧)

ES5的继承方式主要是组合继承,即构造函数继承(apply、call改变this的指向,立即执行获得父类的方法和属性)+原型链继承(父类的实例构成子类的原型对象)。function Parent(name) { this.name = name; this.say = function () { console.log('父的say'); }}Parent.prototype.age = 8;Parent.prototype.sleep = function () { con

2020-07-19 19:15:45 212

原创 斐波那契数列的实现方式(4种)

斐波那契指数列:1、1、2、3、5、8、13、21、34…在数学上,斐波纳契数列定义:F(1)=1,F(2)=1, F(n)=F(n-1)+F(n-2)(n>=2,n∈N*);递归方法第一种当然是递归啦。但是效率不高。fb(5)= fb(4)+fb(3)fb(4)= fb(3)+fb(2)计算这两个就要计算两次fb(3),所以几乎每个都有重复计算的情况,所以效率自然不高。但是写起啦还是很简单明了滴。。。function fb(n){ if(n<=2){ return 1

2020-07-12 17:22:33 1306

原创 LeetCode刷题---有效的括号(20)

题目链接:点击即可题目给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入: “()”输出: true示例 2:输入: “()[]{}”输出: true示例 3:输入: “(]”输出: false示例 4:输入: “([)]”输出: false示例 5:输入: “{[]}”输出: true思路1

2020-07-12 15:57:54 137

原创 LeetCode刷题---三数之和(15)

题目链接:点击即可题目给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。示例:给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[[-1, 0, 1],[-1, -1, 2]]思路1、先排序2、难点:不能有重复,则遍历的时候arr[i]==a[i-1]时,continue,跳过这个数3、设

2020-07-12 11:18:50 134

原创 js实现一个链式调用,加上执行事件、流程控制

var p = new Queue();p.task(1000, () => { console.log(1);}).task(2000, () => { console.log(2);}).task(6000, () => { console.log(6);})实现上面的类,按照设定时间执行依次执行所设定任务。function Queue() { this.arr = []; setTimeout(() => { this.next();

2020-07-11 22:30:56 799

原创 js防抖和节流实现

//写防抖(一段时间内,多次触发,只执行最后一次)//用延时器实现function debunce(fn,delay){ var timer = null return function(){ //清楚上一次延时器,关键,可以终止多次触发的动作 clearTimeout(timer) //重新设置新的延时器 timer = setTimeout(function(){ fn.apply(this) },delay) }}//写节流(触

2020-07-07 16:47:29 187

原创 手写一个继承(组合继承)

function superType(){}function subType(){//构造函数继承 superType.call(this,...args)}//原型链继承subType.prototype = new superType()//对象增强subType.prototype.constructor = subType()

2020-07-07 16:46:49 413

原创 new的原理用代码实现

function my_new(f) { return function () { //创建一个对象,并将prototype赋值给__proto__ var obj = { "__proto__": f.prototype } //然后将构造函数的this赋值给这个对象,并执行这个函数 f.call(o, ...args); //返回这个对象 return obj }}new的实现原理:1、创建一个对象,并将prototyp

2020-07-07 10:56:28 189

原创 js数组去重总结

大致总结了四种方法,面试的时候说这四种应该差不多了。。。。Setlet array = [1, 2, 2, 3, 4, 5, 3, 2, 6, 8]console.log([...new Set(array)]);console.log(Array.from(new Set(array)));//Array.from()是把类数组转成数组indexOf + 循环let arr = []array.forEach(element => { if (arr.indexOf(eleme

2020-07-07 08:45:15 77

原创 LeetCode刷题---最长回文子串(5)

题目给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1:输入: “babad”输出: “bab”注意: “aba” 也是一个有效答案。示例 2:输入: “cbbd”输出: “bb”思路暴力循环,分两种情况1、rabcbake,奇数回文 abcba2、rabbarkf,偶数回文 rabbar遍历的时候,分别向两边观察开,如果不等则判断是否比目前的最长回文子字符长,长则替代。/** * @param {string} s * @r

2020-07-03 23:30:43 96

原创 LeetCode刷题---无重复字符的最长子串(3)

题目给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3:输入: “pwwkew”输出: 3解释: 因为无重复字符的最长子串是 “wke”,所以其长度为 3。请注意,你的答案必须是 子串 的长度,“pwke” 是一个子序列,不是子串。思路主要

2020-07-03 17:16:27 157

原创 LeetCode刷题---两数之和(1)

题目给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]思路构建一张哈西表的方法。可以用数组也可以用对象来实现这样的对应。例如; [2, 7, 11, 15],要找出和为9的。那么,因为题目找的

2020-07-02 10:53:08 90

原创 js实现一个filter

function fn(value, index, arr) { return value > 20}Array.prototype.myfilter = function (fna) { let arr = [] let arr1 = Array.prototype.slice.call(this, 0, this.length) for (let i = 0; i < arr1.length; i++) { if (fna(this[i], i, this))

2020-06-17 17:28:30 652

原创 java基础学习——(12)包、多线程、练习题

包(package)对类文件进行分类管理给类提供多层命名(名称)空间写在程序文件的第一行类名的全称为 包名.类名包也是一种封装形式在cmd中,指定生成类文件的位置:javac -d .PackageDemo.java...

2019-09-20 15:58:38 233

原创 java基础学习——(11)异常、Object类

异常在运行时期发生的不正常情况。Throwable(可抛)Error(错误)通常出现重大问题 如:运行的类不存在或者内存溢出等 不编写针对代码对其处理Exception(异常)在运行时运行出现的一起情况,可以通过try catch finallyException和Error的子类名都是以父类名作为后缀在java中用类的形式对不正常情况进行了描述集合封装对象。描述不正常的情况的类,就称...

2019-09-20 15:58:26 337

原创 java基础学习——(10)多态、内部类、匿名内部类

多态

2019-09-20 15:58:13 184

原创 java基础学习——(9)子父类中的构造函数、final关键字、抽象类、接口

子父类中构造函数的特点在子类构造对象时 发现 访问 子类构造函数时 父类也运行了 为什么呢?原因是:在子类的构造函数中的第一行有一个默认的隐式语句:super();//调用的就是父类中的空参数的构造函数子类的实例化过程:子类中所有的构造函数默认都会访问父类中的空参数的构造函数class Fu{ Fu() { System.out.println("Fu"); }}cl...

2019-09-20 15:57:54 115

原创 java基础学习——(8)文档注释、单例设计模式、继承

注意:主函数所在的类和主函数创建的类对象所属的类不在一个文件中,则(全部)分别编译,运行主函数所在的class文件即可。一般分别编译的话,需要先编译主函数创建的类对象所属的类的文件,最后编译主函数所在的文件。但是java编译器如果在编译类中发现其他类的话,会到classpath或者当前目录下找这个类,如果没有会继续找和这个类名相同的.java文件,找到后进行编译产生.class文件。所以可以直接...

2019-09-20 15:57:44 72

原创 java基础学习——(7)面向对象(构造函数、this关键字、static关键字)

构造函数在构建创造对象时调用的函数。(只针对对象构造,无对象,不构造)作用:可以给对象进行初始化。创建对象都必须要通过构造函数初始化。一个类中如果没有定义过构造函数,那么该类中会有一个默认的空参数构造函数,如果在类中定义了指定的构造函数,那么类中的默认构造函数就没有了。特点:1.函数名与类名相同。(首字母大写)2.不用定义返回值类型。3.没有具体的返回值。...

2019-09-20 15:57:35 83

原创 java基础学习—(6)二维数组和面向对象

二维数组数组中的数组。格式1int[ ] [ ] arr =new int[4] [5];

2019-09-20 15:57:27 83

原创 java基础学习—(5)数组的基本操作

数组常见操作对数组的最基本操作就是存和取,核心思想就是对角标的操作。遍历int[] arr = {45,56,86,2,5};for(int x=0; x<arr.length; x++){ System.out.println("arr["+x+"]="+arr[x]);}1、使用循环完成遍历。2、arr.length可获取数组的长度,需要注意的是数组最大的角标为arr...

2019-09-20 15:57:18 88

原创 java基础学习—(4)函数和数组

转义字符:\n换行 \t 制表符\b 退格\r 按下回车键

2019-09-20 15:57:10 78

原创 java语言基础—(3)运算符和程序流程

比较运算符

2019-09-20 15:56:58 74

原创 java 基础学习——(1)java环境变量、设置

java学习_第一课

2019-09-20 15:56:43 71

原创 java基础——(2)语言基础

关键字:红色字是java创建好的类蓝色都是关键字,都是小写类名的首字母大写是规范class 用于定义类void 没有返回值关键字包括:用于定义访问权限修饰符的关键字private(私有) protected(受保护) public(公有)用于定义类,函数,变量修饰符的关键字abstract(抽象) final(最终) static(静态) s...

2019-09-20 15:56:27 82

原创 毕向东视频中面试题集合

(1)byte b = 3;byte b1 = 4;byte b2 = 7;b = b1+b2;错误: 不兼容的类型: 从int转换到byte可能会有损失,b = b1+b2;提问:为什么会发生错误?答案:因为b1和b2是变量,在b = b1+b2;中,无法判断他们的加和是不是在范围内,byte型变量加byte型变量的加和值可能超出byte的范围,故只要有可能超出byte型的范围,...

2019-05-19 21:48:50 225

转载 VMware Tool的安装

关于VMware Tool的安装这两天一直在学习linux操作系统。但是在VMware的安装中遇到了一点问题,记录下来,以防我这鱼的记忆转头就忘了。我也是各种求救度娘,借鉴前人的方式。其实VMware运行后,问题提示的很清楚了,需要把错误信息一键复制就可以找到前人的解决方法。1、第一个问题,在CD-ROM虚拟光驱中选择使用ISO镜像,找到VMWARE TOOLS 安装文件,如C:\progr...

2019-04-27 22:50:53 259

空空如也

空空如也

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

TA关注的人

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