自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

AndyPoplar

学无止境

  • 博客(28)
  • 收藏
  • 关注

原创 力扣每日一题[3.无重复字符的最长子串]

力扣每日一题[3.无重复子串的最长字符] (中等)var lengthOfLongestSubstring = function(s) { let i = 0; let max = 0 let map = new Map() for(let j = 0;j<s.length;j++){ if(map.has(s[j])){ i = Math.max(map.get(s[j]) + 1,i) }

2020-08-19 09:34:41 172

原创 力扣每日一题 [1.两数之和]

力扣每日一题[1. 两数之和]/** * @param {number[]} nums * @param {number} target * @return {number[]} */var twoSum = function(nums, target) { const map = new Map() for(let i = 0;i < nums.length; i++){ const num = nums[i] const num2 =

2020-08-17 08:31:41 190

原创 删除链表节点的三种方式

1、运用单指针删除把下一个节点的值赋给当前要删除的节点当前节点指向下下个节点/** * Definition for singly-linked list. * function ListNode(val) { * this.val = val; * this.next = null; * } *//** * @param {ListNode} node * @return {void} Do not return anything, modify node in-p

2020-07-30 09:27:44 3527

原创 纪念第一次面试

2020/7/13前言上一篇文章说距离面试还有3天,到现在过去了十几天,现在也是顺利拿到了offer,比较开心,但相对开心而言,迎来的是更大的挑战,身边有很多厉害的同事,这对于我来说,算是一件好事,目标很明确。面试前我是在6/18开始准备面试,本打算7天复习完,但是发现东西很多,又遇到了端午节,就推到了7/2才开始一面,所以我应该是有14天的准备时间。其实,14天的时间很短,也是很难复习彻底的,这个应该感谢我在3/1开始就每天做3道面试题,于是14天里面JavaScript只用了2天就准备差不多了,

2020-07-13 11:11:54 171

原创 不发动态的日子里,都在好好生活

2020/6/9 ——2020/6/21十几天没有记录学习的过程了,是因为这几天一直在考试,没错,就是考试周。各种复习,补各种作业。期间也有学习react也在学习ES6的继承说在最后,生活总是要记录的,不管是文字还是声音和视频。...

2020-06-16 21:53:43 1231

原创 【继承系列】JS中的混入方式继承

1. 混入方式继承之前我们都是一个子类继承一个父类,而混入方式继承是一个子类继承多个父类这里,我们需要用到Object.assign()它的作用就是可以把多个对象的属性和方法拷贝到目标对象中,若是存在同名属性的话,后面的会覆盖前面。(属于浅拷贝)简单看个????:const obj = { name: 'andy', colors: ['red', 'blue']}; const obj2 = {name:'nike'}const obj3 = Object.assign(obj

2020-06-09 19:48:26 912 1

原创 【继承系列】JS中的寄生式继承

1. 寄生式继承寄生式继承就是在原型式继承的基础上再封装一层,来增强对象,之后将这个对象返回。来看看伪代码function createAnother (original) { const clone = Object.create(original);; // 通过调用 Object.create() 函数创建一个新对象 clone.fn = function () {}; // 以某种方式来增强对象 return clone; // 返回这个对象}1.1 题目一了解寄生式继承的

2020-06-08 11:13:56 313

原创 position的4个值和用法

1. position的4个值我理解的四个值为absoluterelativefixedsticky2. 用法2.1 absoluteposition:absolute 绝对定位TOP、RIGHT、BOTTOM、LEFT(下面简称TRBL)如果元素没有设定TRBL并且父级没有设定position属性,那么当前设置absolute的元素默认依据父级的坐标原始点为原始点。如果元素设定TRBL并且父级没有设定position属性,那么当前设置absolute的元素则以浏览器左上角为

2020-06-07 19:56:46 4883

原创 【继承系列】JS中的原型式继承

1. 原型式继承注意:是原型式继承,不是原型链继承该方法的原理是创建一个构造函数,构造函数的原型指向对象,然后调用 new 操作符创建实例,并返回这个实例,本质是一个浅拷贝。伪代码如下:function objcet (obj) { function F () {}; F.prototype = obj; return new F();}1.1 题目一我们先看一个比较熟悉的东西const cat = { heart: '❤️', colors: ['white', 'b

2020-06-06 12:12:33 1609

原创 【继承系列】JS中的寄生组合继承

1.寄生组合继承我们先看下上次说到的组合继承缺点父类构造函数会被调用两次生成了两个实例(子类实例,和子类原型对象)那现在我们需要跳过执行new Parent(),并且直接继承父类原型链上属性也就是说,我们需要一个干净的实例对象,来作为子类的原型。并且这个干净的实例对象还得能继承父类的属性。这就需要知道Object.create()的用法了Object.create(proto, propertiesObject)参数:proto:新创建对象的原型对象。propertiesObjec

2020-06-05 11:14:59 326

原创 【继承系列】JS中的组合继承

1.组合继承既然原型链继承和构造函数继承都有这么多的缺点,我们可以将他们两个结合一下。看下他们两个的伪代码,该如何组合// 原型链继承Child.prototype = new Parent()// 构造继承function Child () { Parent.call(this, ...arguments)}1.1 组合继承的概念组合继承就是将原型链继承与构造函数继承组合在一起,从而发挥两者之长的一种继承模式。1.2 思路使用原型链继承来保证子类能继承到父类原型中的属性和方法

2020-06-04 15:44:38 519

原创 【继承系列】JS中的构造函数继承

1.构造函数继承在子类构造函数内部使用call或apply来调用父类构造函数我们先来复习一下call和apply方法。通过call()、apply()或者bind()方法直接指定this的绑定对象, 如foo.call(obj)使用.call()或者.apply()的函数是会直接执行的,而bind()是创建一个新的函数,需要手动调用才会执行.call()和.apply()用法基本类似,不过call接收若干个参数,而apply接收的是一个数组举个????:const obj = { a:'

2020-06-03 11:08:44 654 1

原创 【继承系列】JS中的原型链继承

1. 原型链继承将子类的原型对象指向父类的实例1.1 题目一function Parent () { this.name = 'Parent' this.sex = 'boy'}Parent.prototype.getName = function () { console.log(this.name)}function Child () { this.name = 'child'}// 将Child的原型对象指向Parent的实例对象Child.prototype

2020-06-02 11:50:09 224

原创 export default function和export function的区别

1.一个模块中export default只能有一个,export可以有多个// demo01.jsexport const num1 = 1;export const num2 = 12;export const num3 = 123;const address = '北京市';export default address;// demo02.jsimport { num1,num2,num3 } from './demo01.js';console.log(num1,num2,nu

2020-06-01 12:26:01 2917

原创 说一下事件委托

基本概念事件委托,通俗地来讲,就是把一个元素响应事件(click、keydown…)的函数委托到另一个元素;一般来讲,会把一个或者一组元素的事件委托到它的父层或者更外层元素上,真正绑定事件的是外层元素,当事件响应到需要绑定的元素上时,会通过事件冒泡机制从而触发它的外层元素的绑定事件上,然后在外层元素上去执行函数。举个例子,比如一个宿舍的同学同时快递到了,一种方法就是他们都傻傻地一个个去领取,还有一种方法就是把这件事情委托给宿舍长,让一个人出去拿好所有快递,然后再根据收件人一一分发给每个宿舍同学;

2020-05-31 11:14:09 420

原创 display:none和visibility:hidden的区别

1.隐藏元素后是否占据空间display:none 不占据空间visibility:hidden 占据空间2.是否产生回流display:none 产生回流visibility:hidden 不产生回流3.是否有继承visibility具有继承性,给父元素设置visibility:hidden;子元素也会继承这个属性。但是如果重新给子元素设置visibility: visible,则子元素又会显示出来。这个和display: none有着质的区别示例:<style

2020-05-30 10:32:30 244

原创 手写instanceof原理

A instanceof B判断 B 的 prototype 属性指向的原型对象(B.prototype)是否在对象 A 的原型链上。如果在,则为 true;如果不在,则为 false。function myInstanceof(left, right) { if (typeof left !== "object" || left == null) return false let proto = Object.getPrototypeOf(left); while (true) {

2020-05-28 15:32:23 334

原创 手写new实现原理

function modelNew(Parent, ...test) { // 1.创建一个空对象 let result = {}; // 2.把Parent的this指向this result.__proto__ = Parent.prototype; // 3.执行parent的代码为result添加属性,如果构造函数有返回结果,则接收 let target = Parent.apply(result, test) if (typeof target === "ob

2020-05-28 14:28:38 591

原创 new URLSearchParams(iterable)在post传参数应用

1.使用简述let params;// 使用数组。params = new URLSearchParams([ ['user', 'abc'], ['query', 'first'], ['query', 'second']]);console.log(params.toString());// 打印 'user=abc&query=first&query=second'// 使用 Map 对象。const map = new Map();map.set('

2020-05-26 16:16:56 660

转载 vue @click.native和@click.stop和@click.self的区别

https://blog.csdn.net/weixin_41646716/article/details/90069562

2020-05-25 14:51:12 1398

原创 配置Nginx反向代理解决跨域

1.了解正向代理和反向代理1.1 正向代理代理是在服务器和客户端之间假设的一层服务器,代理将接收客户端的请求并将它转发给服务器,然后将服务端的响应转发给客户端。正向代理是为我们服务的,即为客户端服务的,客户端可以根据正向代理访问到它本身无法访问到的服务器资源。正向代理对我们是透明的,对服务端是非透明的,即服务端并不知道自己收到的是来自代理的访问还是来自真实客户端的访问。1.2 反向代理反向代理是为服务端服务的,反向代理可以帮助服务器接收来自客户端的请求,帮助服务器做请求转发,负载均衡等。反

2020-05-24 10:39:44 2548

原创 VueCli3.0配置proxy解决跨域

[ 以下为开发环境跨域配置 ]一、首先需要了解什么是跨域问题,网上资料说明的很清楚,这里给出链接什么是跨域二、需要理清楚proxy代理,如何代理?看下官网解释:devServer.proxyType: string | Object如果你的前端应用和后端 API 服务器没有运行在同一个主机上,你需要在开发环境下将 API 请求代理到 API 服务器。这个问题可以通过 vue.config.js 中的 devServer.proxy 选项来配置。devServer.proxy 可以是一个指

2020-05-20 09:43:31 3517

原创 webpack的path.resolve和path.join的区别

首先声明:记录学习过程中遇到的问题小tips:path的join和resolve的使用区别path.join最近在项目中的应用function resolve(dir) { return path.join(__dirname, dir)}------------------configureWebpack: { resolve: { alias: { '@': resolve('src') } } },...

2020-05-12 15:47:19 647

原创 关于nth-child(n)与nth-of-type(n)的区别

先看下代码 <style> div span:nth-child(2){ color: greenyellow; } div span:nth-of-type(2){ color: red; } </style> <div> <span>我是第1</span>...

2020-03-19 14:17:28 105

转载 CSS之使用display:inline-block来布局

转载自

2020-03-05 16:46:46 80

原创 display:table与display:table-cell多行文字垂直居中

<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></title> <style> .parsent{ width: 500px; height: 500px; background: yellow;...

2019-08-25 18:30:19 173

原创 实现滚动到一定位置,导航栏固定到顶部且有动画

这个动画是用透明度做的,欢迎小伙伴们交流其他的做法哟直接上代码,但是感觉这个透明度变化还是有点不舒服,欢迎老哥们指点。别忘了引用jq文件哦~~~~<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></title> <style&g...

2019-08-06 09:32:29 747

转载 小程序通过background-image设置背景图片

微信小程序通过background-image设置背景:只支持线上图片和base64图片,不支持本地图片;base64图片设置步骤如下:1.在网站 点击进去转换哦 上将图片转成base64格式的文本2.在WXSS中使用以上文本:background-image: url(“data:image/png;base64,iVBORw0KGgo=…”);3.为了是背景图片自适应宽高,可以做如下设置:...

2019-08-02 12:26:44 571

空空如也

空空如也

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

TA关注的人

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