自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小破船借箭的博客

共同学习,共同进步,有问题请留言,不喜请喷,谢谢

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

原创 vue 双向绑定原理

vue再initData时会对data中的属性使用object.defineProperty重新定义get和set属性。

2023-03-01 16:56:17 266

原创 import和require的特点以及区别

import和require的区别

2023-03-01 15:20:08 161

原创 JS的继承

继承:子类继承父类中的属性和方法。

2022-08-16 17:09:32 241

原创 VUE绑定滚动条

绑定在window上 mounted() { window.addEventListener('scroll',this.handleScroll,true) }, // 需要在页面销毁时,移除监听事件,避免了内存泄漏 beforeDestroy() { window.removeEventListener("scroll",this.handleScroll); }, methods: { // 滚动事件的回调 handleScroll(e

2021-07-21 11:26:12 1091

原创 Vue中的事件委托

在项目中我们常常会用到ul和li对该标签做一些操作,但是因为如果把事件写在li标签上的话,就会有一下缺点:无法预测未来的li标签:当我们动态插入li时,新插入的li就不存在绑定的事件。增加了事件注册,浪费资源。使用事件委托就可以解决这个弊端,不多废话,直接上代码: // html <ul @click="getChildLi($event)"> <li>111</li> <li>222</li>

2021-06-24 20:40:16 251 3

原创 2022年最新面试题总结

2021年最新面试题总结,结合今年身边的朋友,和自己的自身面试经历总结的面试题。如果有对你有帮助的地方,请帮忙点个赞哦。1. js深拷贝和浅拷贝点击跳转2. 怪异盒模型和盒模型3. 什么是DOM和虚拟DOM?两者区别是什么?什么是DOM?什么是虚拟DOM?虚拟DOM的优势在哪?4. vue和react的生命周期?vue的生命周期?react的生命周期?5. 跨域的原因?6. 跨域的解决方案?7. vue、react、angular三者的异同点?8. vue2.0和vu

2021-04-25 18:30:37 172

原创 ES6中的async+await

学习async和await之前呢,不得不啰嗦一句!在这里如果还不了解异步和promise的请先看我更的上一篇文章JS中的promise什么是async?async是一种异步编程的解决方案:可以异步获取获取操作的信息,其实就是Generator函数的改进,背后原理就是promiseasync如何使用和它的背后原理?作为一个关键字放在函数前面,用来表示该函数是异步的。 async function fn1() { return '小破船'

2021-04-09 12:03:08 869 1

原创 vue返回上一页

累一天了 原本想写点深的东西,实在干不动了,水篇文章方法一this.$router.go(-1) //返回上一层方法二在@click直接写 click="$router.back(-1)" 返回上一页方法三history.go(-1) //返回上一层

2021-04-07 20:55:08 97 2

原创 JS 判断对象中是否包含某属性

一.通过点或者方括号我们在使用对象的时候,通过点或方括号可以获取对象的属性值,如果该对象自身不存在这个属性,就会返回undefined。 var obj={ name:"小破船", doWhat:"借箭" }; console.log(obj.name);//小破船 console.log(obj.age);//undefined console.log(obj['age']);//undefined我们可以根据 obj.属性名 !== undefined 的返回值

2021-04-07 12:31:23 3488 6

原创 JS中的promise

JS的同步和异步(说到promise就不得不讲一下js的同步和异步的问题)一.promise什么是promise?promise是一种异步编程的解决方案:可以异步获取操作的信息,从而解决JS单线程的一些弊端。promise有三种状态: pending(准备态), resolved(成功态),rejected(失败态)。状态一旦改变是不可逆的。为什么要有promise?JS本身是单线程的,在遇到某些方法或者是请求时间加载比较长的时候,这样后面的代码就会出现阻塞,无法继续运行。(如果是请求就会早

2021-04-05 17:01:58 442 4

原创 JS的同步和异步的问题

JS单线程的问题1.单线程概念:js是一门单线程语言,所以js在当下时间是只能做一一个任务,如果有多个任务就要进行排队,在前一个任务执行完毕以后再去执行下一个任务。2.代码示例: console.log('a') console.log('b') console.log('c')从上面的代码很容易看出,代码依次打印出a,b,c,从上到下一次运行,可是如果这段代码不仅仅是打印一个字符串,而是一段复杂的代码,难道还要下一个任务等待前一个任务执行完毕再去执行该操作,所以这时候就要用到了异步操作

2021-04-05 14:59:47 404 4

原创 JS浅拷贝和深拷贝

今天有人问到了JS中的浅拷贝和深拷贝,今天索性来写写,那里写的不好还望大佬可以批评指正,好了好不多说步入正题。在JS中我们每创建一个对象,或者是变量浅拷贝什么是浅拷贝?方法示例一实例代码方法示例二实例代码深拷贝............

2021-04-02 20:18:26 226 3

原创 前端——节流、防抖(通俗易懂)

浏览器的scroll(滚动条滚动)、keypress(按动按键)、mousemove(鼠标移动)等等事件在出发时,都是会不断的调用绑定在事件上的回调函数高频触发,如果回调函数复杂就会导致响应跟不上触发,有可能会造成页面的卡顿,极大地浪费资源,降低前端的性能。对此有两种解决方案:防抖(debounce ) 和 节流(throttling );一、 防抖(debounce )作用:是在短时间内多次触发事件的回调函数,只执行最后一次,或者只在最开始时执行。以用户拖拽改变窗口大小,触发resize事.

2021-03-31 21:36:16 3499 5

原创 rem、em、px之间的区别

px:相对长度单位,像素px是相对于显示器屏幕分辨率。,用px设置字体大小,比较精确。但是有缺点,当浏览器页面缩放时,px并不能跟随变大。当前网页的布局就会被打破。em:相对长度单位,em是相对于当前元素的父元素的font-size进行计算,如果当前元素未设置则相对于浏览器的默认字体尺寸。 <div class="a"> <div class="b"> <div class="c"> </div> </div&gt

2021-03-15 17:36:07 1701 16

原创 如何理解vue中的keep-alive?

听说有面试官问了什么是keep-alive,今天我们也写一写Vue中的keep-alive。众所周知,生活在蓝星的程序猿们不喜欢作者多逼逼,下面我们直奔主体。一.什么是Keep-alive?keep-alive是vue中的内置组件,keep-alive包裹的组件能够在该组件的切换过程中将页面的状态缓存在内存中,界面切换后被包裹的组件实例不会被销毁,防止界面重复渲染DOM。二.Keep-alive的作用是什么?对页面进行缓存,防止DOM重新渲染;举例说明:在我们写商城项目时几乎都会有商品的搜

2021-03-05 14:34:24 1298 2

原创 Vue父子组件传值(通信)

前言:又到了一年一度的金三银四,相信有很多小伙伴都会这个时间段跳槽,当然面临跳槽,不乏要去刷一些面试题,看到有好多小伙伴都有被问到这个问题,所以今天为大家整理这个知识点,我不多逼逼,直接进入正题。一,父子组件的传参1.父传子在父组件中注册使用子组件在子组件中创建props属性,用来接收传值在子组件的props的属性中添加父组件的传值msg父组件代码 <template> <div class="home"> <Child msg

2021-03-02 18:38:22 382 2

原创 JS原生获取地址栏参数

JS获取页面地址方式 var url = window.location.href; var host = window.location.host; var port = window.location.port; var pathname = window.location.pathname; var URL = document.URL; var search = window.location.sear

2021-02-04 14:59:52 603 4

转载 JS深入闭包

学习闭包,一定要了解作用域及作用域链。这里不再阐述,如果需要请移至作用域和作用域链(点击跳转);写了好久的原创发现,自己还是不能表达的足够清楚,所以转载,便于大家理解!!!...转载: http://www.360doc.com/content/10/1204/17/4934442_74980344.shtml一、什么是闭包?“官方”的解释是:闭包是一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分。相信很少有人能直接看懂这句话,因为他描述的太

2020-11-14 17:43:45 108

原创 typeScript中的函数

前言:在ts中对于函数的定义其实与在js中的几乎是一模一样的,无非是要指定返回的数据类型,和要传递的参数类型。一.函数的定义1.有返回值的函数:在ts中需要指定返回值的数据类型 // js中的定义 function run(){ return 123 } run() // ts中的定义 function run1():number{ return 123 } run1()2.需要传参的函数:在ts中函数传参需要指明参数的数据类型 function

2020-10-12 18:46:18 782

原创 TypeScript的数据类型

typeScript中为了是编写的代码更规范,更有利于维护,增加了类型校验(在声明时注明了数据的类型,再重新赋值时如果类型不一致会报错)为了使代码更加规范,利于维护,所以我们在声明变量的时候在后面要声明该变量的数据类型,如果赋值为number类型,重新赋值为string类型的值时会报错。布尔类型(boolean) var flag1:boolean=true; //var(关键字) flag1(变量名):boolean(数据类型)=true;(值) var flag2:boolean=fa

2020-10-10 16:30:16 143

原创 看完就懂js的this指向

说到this指向的问题,不得不说到一下几点:1.解析器在调用函数每次都会向函数内部传递一个隐含参数;2.隐含的参数就是this,this指向的是一个对象;3.根据函数的调用方式不同,this会指向不同的对象;以下是调用方式总结:一.函数调用以函数的形式直接调用时,this永远都是window; function fun(){ console.log(this); //window } fun(); 二.方法调用一个函数被保存为对象的属性时,该函数就是这个

2020-10-09 18:10:02 185 1

原创 还不懂,JS作用域和作用域链?快看,有详解!

作用域作用域:作用域指的就是一个变量的可用范围!!!在JS中有两种作用域分别是全局作用域和局部作用域。一.全局作用域简单理解就是说在全局声明的变量,在页面的任意位置都可以访问的变量,该变量作用的范围就是全局作用域完全了解全局作用域需要知道一下几点:1.编写在script标签中的代码js代码,都属于全局作用域。2.在script标签中声明的变量都属于全局变量,在页面的任何位置都可以访问。 //解析上述 1. 2.的概述 <script type="text/javascrip

2020-09-27 19:51:06 219

原创 (图解)Js原型和原型链,看完不懂你打我!

原型 prototype先跟各位小伙伴说一下,原型不难理解的,难的是运用,这节我们先去理解什么是原型,希望配合上图解,大家能很轻松理解,步入正题。要彻底了解原型我们要知道以下几点:我们所创建的每一个函数,解析器都会向函数中添加一个属性 prototype;这个 prototype 属性对应着一个对象,这个对象就是我们所谓的原型对象;该函数我们以构造函数调用时,它所创建的对象中都会有一个隐含属性 _ _ proto _ _;_ _ proto _ _ 这个属性也会指向该构造函数的原型对象;综

2020-09-19 18:24:30 2261 4

原创 $(function(){})和window.onload=function(){}

1.window.οnlοad=function(){} 解析 window.onload=function(){}会等到DOM元素全部加载完毕,并且还会等到资源也加载完毕才会执行。2.$(function(){}) 解析 $(function(){})只会等到DOM元素加载完毕就会执行回调本人持续更新,周一至周五小菜不断,每周六或周日我们上大菜。...

2020-09-18 14:23:34 414

原创 element的select组件下拉框位置偏移

欢迎大佬光临,望大佬批评指正,不喜就喷,共同进步,谢谢!项目弱弱的说一句:如果对您有帮助还望大佬点赞哦。一. 为什么会出现这样的问题?(比较赶的大佬请下拉至二直接看解决方案)请看下图解析上述图片解析: 1.红色框为select区域 2.主题内容的类(css样式) 设置了 margin-top:60px(在这里我们先怀疑是这个属性造成的影响); 根据上述两图比较得出答案: 去掉==margin-top:60px==属性,select组件恢复正常。由上述得出答案: 因为se

2020-09-15 18:08:29 7967

原创 深入谈谈apply和call

深入谈谈apply和call。这篇文章是本小猿生写的第一篇文章,不喜勿喷,还望大佬批评指教,共同进步,好了废话不多说,下面开始胡扯。apply和call方法的相同点apply()和call()方法的作用都是改变this 的指向,也是他们的相同点。apply和call方法的不同点apply() 和 call() 方法的区别在于 接收参数的方式不同apply() 方法,两个参数,第一个参数是this修改后的指向。第二个参数是一个数组。call() 方法,第一个参数是this修改后的

2020-09-15 13:59:04 1018 2

空空如也

空空如也

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

TA关注的人

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