自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JS中的闭包

闭包闭包的概念其实很简单,就是函数A内部有一个函数B,函数B可以访问函数A的变量。也就是说闭包是指有权访问另一个函数作用域中变量的函数,利用闭包可以突破作用域链。闭包的特性:1、函数内再嵌套函数2、内部函数可以引用外层的参数和变量3、参数和变量不会被垃圾回收机制回收使用闭包主要是为了设计私有的方法和变量闭包的优点是可以避免全局变量的污染,缺点是闭包会常驻内存,增大内存使用量,使用不当容易造成内存泄露,再JS中,函数即闭包,只有函数才会产生作用域的概念使用闭包的好处就是可以读取函数内部的变量,还

2023-12-08 18:23:13 720

原创 跨框架解决方案-Mitosis【Context】

mitosis context

2023-12-08 18:22:30 771

原创 真正理解面向对象、面向过程编程

真正理解面向对象、面向过程编程面向过程比如我们想要做一件事,我们知道这件事有哪些步骤,怎么解决。第一步做什么,第二步做什么,我们都很清楚。然后我们根据计划按部就班的一步一步完成,这就是面向过程的思想,在程序设计语言中主要体现在一个函数就是一个步骤,通过函数调用关系完成每一个步骤。比如下班回家吃饭到睡觉的过程:第一步:做饭 第二步:吃饭 第三步:刷碗 第四步:睡觉每一个过程都可以是一个函数,一步一步进行。这就是面向过程,编程语言主要是C 语言。面向对象面向对象的思想就是把问题

2023-12-08 18:22:01 586

原创 echarts更改工具栏图标为本地图片

1、首先将需要的本地图片导入进来import save from '../../../assets/images/save.png'2、利用React字符串连接变量的语法icon: `image://${save}`这样就可以了,注意两端是反引号不是单引号。使用单引号就不好使了...

2023-12-08 18:20:46 1377

原创 Java和JavaScript的区别

Java和JavaScript的区别两者毫无关系,就类似“微博”和“微信”的关系,只是名字有一部分像1、用处不同Java被广泛用于PC端,移动端,互联网等等,而Js主要用于嵌入html页面,读取html元素等2、出身不同二者由不同的公司开发,JS是脚本语言,Java是面向对象的程序设计语言3、语言类型不同JS是动态类型语言,Java是静态类型语言4、JS变量声明是弱类型,既使用前不需要声明,运行时检查数据类型。Java是强类型的语言,变量编译前必须声明5、解释和编译Java源码在执行前必

2023-12-08 18:17:38 1286

原创 前端实习面试常考(定位、文档流)

前端实习面试常考(定位、文档流)最近在找前端的实习,看了很多面试题,再这里做一个总结分享给大家,希望对大家的实习面试起到一些帮助(本人刚入门不久,如果大家对我的内容有异议,欢迎大家私信,交流一下,共同进步)对于前端实习面试题这个模块,我大体分为4个部分,HTML&CSS、JavaScript、计算机网络、Vue3(本人框架只学了Vue3)1、定位值描述static无定位,left、top、bottom、right不可用absolute生成绝对定位元素,相对于st

2023-12-08 18:13:11 794

原创 使用git push太慢怎么办

使用git push太慢怎么办修改host文件:windows 的路径应该在 C:\Windows\System32\drivers\etc\hosts在host文件的最后一行加上151.101.72.249 github.global.ssl.fastly.nethost不允许修改就复制一份,修改好了再替换掉,可能会让你输入账户密码,输入就好了整完之后,快的一批。。。牛皮...

2023-12-08 17:58:08 3229 1

原创 一篇文章熟练掌握 Axios

不在地址后面进行拼接,axios.get()这个方法第一个参数是要请求的路径,第二个参数是一个对象,可以在这个对象中加一些配置,参数就写在这里的params里面。注意Promise.all()接收的参数是一个Promise对象数组,后面.then接收到的结果也是一个数组,是一个由上面的Promise对象数组返回的结果构成的数组。数据,状态码,状态信息,响应头,请求的配置信息,生成此响应的请求。axios.post() 方法的第一个参数是请求的地址,第二个参数是一个对象,是要post的数据。

2023-12-08 16:29:58 1091

原创 前端高频面试题大全-面试必看

React是用JS构建快速响应大型web应用的首选方案,是一个JS库,主要用于构建ui。虚拟DOM最大限度减少与真实DOM的交互,使用JSX代码可读性很好。可以与已有的库和框架很好的配合。使用React构建组件使代码更容易得到复用可以很好的应用在大项目的开发过程中。单向数据流减少了重复的代码。轻松实现数据绑定。HTTP(超文本传输协议),是从万维网服务器传输超文本到本地浏览器的传送协议。浏览器作为HTTP客户端通过URL向HTTP服务器即web服务器发送请求。无连接 每次连接只处理一个请求,结束就断开。

2023-12-08 16:16:34 1033

原创 前端面试常考 HTTP/计算机网络面试题

HTTP协议是基于TCP/IP通信协议来传输数据,如HTML文件,图像等,即是一个客户端和服务端进行请求和响应的协议。

2023-12-08 15:59:03 1261

原创 前端常用设计模式详细解析

假设当A 在心情好的时候收到花,小明表白成功的几率有60%,而当A 在心情差的时候收到花,小明表白的成功率无限趋近于0。定义一种一对多的关系,让多个观察者对象同时监听某一个主题对象,这个对象的状态发生变化就会通知所有观察者对象,使他们能够自动更新自己,当一个对象的改变需要同时改变其他对象,并且它不知道具体多少对象需要改变的时候就可以使用观察者模式。在不改变原对象的基础上,通过对其进行包装扩展,使原有对象可以满足用户更复杂的需求,而不会影响从这个类中派生的其他对象。该模式使一个类的实例化延迟到了子类。

2023-12-08 15:51:04 1450

原创 一篇文章理解 Taro1/3原理

在使用任何一种技术之前,都要了解这两个问题:是什么?为什么要用?Taro是一个开放式跨端跨框架的解决方案,支持使用 React/Vue/Nerv等框架开发微信 / 京东 / 百度 / 支付宝 / 字节跳动 / QQ / 飞书 小程序 / H5 / RN 等应用。这么说可能不容易理解,简单来说就是代码一次编写,多端使用。

2023-12-08 15:35:28 1379

原创 前端性能优化-图片处理

当页面中的图片太多或者图片体积过大就会影响页面的加载速度而影响用户体验,所以对图片的优化很重要。

2023-11-30 21:37:39 352

原创 zsh配置自定义快捷命令

Git会自动打开文本编辑器帮助你编辑合并提交信息,但其实大多数情况下 我们只需要默认的提交信息就好不需要额外编辑,那我们就需要手动关闭编辑器,当然有个方法可以在命令中加入 --no-edit,可以在合并时不打开编辑器,那么如果我们想一次合入呢?应用修改,进入要打开的项目文件,执行。

2023-11-30 21:36:50 829

原创 程序员的工作到底怎么样?好不好?

手机换了,电脑换了,衣服、鞋、好吃的,然后呢,你还有什么想要的。除非你能力超群,可以做到架构师或者做领导,那你当我没说,但是无论是那条路,都是相当难的,做架构师的人那都是对技术,对程序非常感兴趣的,如果你只把程序员当工作,你永远成为不了架构师。总结,自己的人生自己做主,在你这个刚毕业的年纪,值得你拼一拼,但我劝你慎重,想想你工作的意义是什么,工作是为了什么,你人生的意义是什么, 你在为什么奋斗。穿着干净的衣服,坐在工位,敲敲代码,公司有免费的咖啡,免费的饭菜,我记得我的第一家实习甚至有下午茶和住房补贴。

2023-11-30 20:57:48 1020

原创 校招生程序员工作好找吗?

而我属于不太有先见之明的那类,大三下学期开学,得知人家假期就已经在大厂实习了,我才开始着急,于是就开始学习前端的知识,这里就要夸一下我的学校了,学校真的是很有先见之明了,我们学校开设了 html+css+js 甚至是vue的课程,因为学习过,所以准备面试的过程还算顺利,简单背了一下面经就面试了。两个月,收获颇丰,项目完美交付,坏消息是,公司锁hc了,无法转正,但是秋招已经进入尾声,我又开始进行校招面试,每天面试每天面试,终于拿到了某电商大厂的offer,也就是我目前正在就职的大厂。因人而异,也因学历而异。

2023-11-30 19:48:11 833

原创 Babel转码器详解

Babel

2022-12-06 19:17:52 572 1

原创 JavaScript reduce()方法详解与实现

就是个笔记写什么摘要

2022-11-01 17:38:57 506

原创 跨框架解决方案-Mitosis【Methods、条件渲染、插槽】

mitosis Methods、条件渲染、插槽

2022-10-25 17:32:21 459

原创 跨框架解决方案-Mitosis【项目结构、组件、样式、状态】

Mitosis 项目结构、组件、样式、状态

2022-10-25 16:42:17 695

原创 跨框架解决方案-Mitosis【简述与原理】

跨框架解决方案-Mitosis

2022-10-25 15:45:53 893

原创 为什么React不允许直接修改state

为什么一定要写摘要?就做个分享而已,还评个啥劣质文章不给推荐?有必要吗?

2022-08-09 18:42:20 1846

原创 单页面(SPA)与服务端渲染(SSR),概念、区别,优缺点

一篇文章搞清楚单页面应用与服务端渲染的概念和区别

2022-08-08 15:32:35 1735

原创 vs code开发前端项目常用扩展插件

搞开发一直用的VS code,用新电脑的时候,每次都得把一些乱七八糟的插件重新安装一遍,一直也没做个总结,每次安装都搜索很久,总有一些插件会忘记。为了以后换新电脑的时候,安装插件方便点,做一个总结:首先是vue相关的插件使用vue进行开发的话,这几个插件是必须安装的,自动提示啥的都包括在内了。代码相关Eslint,懂得都懂,检查代码,可以帮你改错,提示错误啥的。而prettier是代码风格,比如,使用单引号,不用分号等等,添加这个插件可以让代码更好看,规范。这两个插件一般是两个配合使用的。这个

2021-12-08 15:00:24 1581

原创 详解从输入url到页面加载全过程

从输入url到页面加载发生了什么,可以分为六点1、DNS解析计算机在整个互联网中的唯一标识是ip地址,DNS解析就是从输入url到寻找ip地址的过程首先查找浏览器缓存中是否有,再查找操作系统host文件中有没有,没有的话就到DNS服务器中找,得到ip地址之后2、建立tcp连接建立tcp连接就是三次握手第一次:客户端=>服务端 客户端向服务器端发送SYN=1,代表请求建立连接;还发送seq=n是客户端的序列号第二次:服务端=>客户端 服务端表名收到请求,发给客户端SYN=1,代表

2021-09-09 14:56:59 585

原创 JS实现继承的4种方式:原型链、构造、组合、寄生组合继承

JS实现继承的4种方式1、原型链继承2、构造继承3、组合继承4、寄生组合继承1、原型继承简单来说就是将父类的实例作为子类的原型,父类新增属性和方法,子类都能访问到 function A() { this.num = 0 this.arr = [1,2,3,4] } function B() { } B.prototype = new A() var b1 = new B() var b2 = new B()

2021-09-04 23:13:15 461

原创 什么是变量提升?什么是暂时性死区?var、let、const区别?

变量提升: a = 2 var a console.log(a);//2我们都知道JS代码是从上到下一行一行执行的,但不完全正确。上面的代码,可能很多人认为,var a 的声明在 a=2之后,所以输出undefined,实际情况却是输出2,再考虑一段代码: console.log(a)//undefined a = 2可能有人认为,a在使用前没进行声明,会抛出异常,但实际上会打印出undefined那么究竟是怎么回事?实际上引擎在解释Js代码之前会先对其进行编译

2021-09-04 18:06:16 906

原创 JS执行上下文、变量对象、作用域链

JS中的执行上下文**概念:**当控制器转入可执行代码的时候就会进入一个执行上下文,可以理解为当前代码的运行环境,会形成一个作用域,JS的运行环境的大致分为三种:全局环境:代码运行起来首先进入该环境函数环境:函数被执行的时候进入当前函数中执行代码eval()处理方法:JS引擎用堆栈的方式来处理程序执行过程中的上下文,栈底是全局上下文,而栈顶是正在执行的上下文,栈顶的执行完毕弹出,遇到return时直接出栈上下文的建立:时机:函数执行上下文是在函数被调用,函数体还没执行时创建创建阶段:建立变量

2021-09-04 00:08:00 150

原创 JS中的堆栈、垃圾回收机制、深拷贝浅拷贝

JS中的堆栈、垃圾回收机制、深拷贝浅拷贝1、堆和栈栈和堆都属于数据结构,栈相当于乒乓球盒子,先进后出。堆更像是一种树形结构,类似于书架,只要知道书名就可以很方便的取到书。堆和栈的区别:从空间大小来看,堆比栈大。从存储的数据来看,栈中存储局部变量和函数的参数;引用类型存在堆中,但是对数据的引用存放在栈中。从存储角度来看,栈中的数据大多为函数的参数,函数执行完毕自定出栈;堆中的数据不会自动释放,而是用到了垃圾回收机制。堆内存中的数据是不允许直接访问的,对对象的操作实际上实在操作对象的引用,可以理解为变

2021-09-01 22:03:39 193

原创 深入了解原型链,Object与Function的关系

深入了解原型链,Object与Function的关系这篇文章默认你已经理解了原型和原型链的概念,并且知道prototype和__proto__的用法和意义。在学习instanceof的时候遇到一个很奇怪的现象 console.log(Function instanceof Object);//true console.log(Object instanceof Function);//true然后了解了一下instanceof的原理,instanceof是通过查找后者的prototyp

2021-09-01 17:24:17 532

原创 真正理解JS原型和原型链

什么是原型、原型链首先我们要搞明白原型的概念,什么原型?每个对象都可以指定另一个对象来作为自己的原型,并继承原型的所有属性。那么对象当然是由构造函数创建的,那我们是不是就可以在声明构造函数的时候就指定一个对象作为原型,之后凡是由这个构造函数创建出来的对象都拥有共同的原型。每个构造函数在创建时都默认有一个prototype属性,用来指定原型。 function Student() { this.study = function () { console.lo

2021-09-01 16:22:56 101

原创 前端JS数据类型、Symbol、判断数据类型的方法

1、JS中null和undefined的区别null和undefined在if语句中都会被转成false,且null==undefined的返回值是true。其实这是一个历史遗留问题,JS最初被设计时只有null用来表示无。但是大家使用typeof可以发现null其实是一个 对象,相当于没有对象。JS的设计者觉得表示‘无’的最好不要是一个对象;其次JS最初没有错误处理机制,数据类型不匹配时往往自动转换数据类型或者报错,null转化为0则不容易 发现错误,所以又添加了undefined。理解来看两者的区别,

2021-09-01 15:50:20 662

原创 React面试题整理(1)

1、element和component的区别,也就是元素和组件的区别组件分为函数组件和类组件,两者除了写法上的不同之外,最大的区别在于类组件可以声明state,也就是说,类组件有自己的内部状态,但是在函数组件中不能声明state。但是React Hooks的出现,使函数组件也可以拥有自己的状态。那么element和component的区别也就不难理解。组件有输入输出,有返回值(JSX),而组件返回的就是React元素,也就是element。组件接受的props以及自身的state则决定了element如何

2021-08-26 15:37:30 963

原创 使用 IntersectionObserver实现图片懒加载

图片懒加载实现图片懒加载之前,首先给大家介绍一个可以自动观察元素是否可见的Api: IntersectionObserver,字面意思就是交叉观察。之所以叫交叉观察,因为当图片出现在可视区域时,会和可视区域有一个交叉的过程,当图片开始和可视区域交叉的时候也就意味着图片开始进入可视区域。 IntersectionObserver本质上是一个构造函数,它接受两个参数:第一个参数是回调函数,看见元素了触发一次,看不见了再触发一次,第二个参数是配置对象,不做讲解var observe = new Inter

2021-08-26 11:55:28 965

原创 React是什么,React的优点、缺点

React是什么,React的优点、缺点,与Vue对比在React源码中的React哲学里有这样一句话:我们认为,React是用JavaScript构建快速响应的大型的Web应用程序的首选方案。由此可见,关键在于快速响应,大型web应用。那么当然,一句话不足以概括React,那React到底是什么?React是一个javascript库,用于构建高效、快速的用户界面。React主要用于构建UiReact的优点React采用声明范式可以轻松描述应用。通过虚拟DOM,最大限度的减少与DOM的交互,

2021-08-25 17:49:39 4295

原创 真正理解React生命周期函数为什么存在?作用是什么

真正理解React生命周期函数为什么存在?作用是什么?在了解生命周期之前,先要知道,为什么要有生命周期,生命周期函数的作用是什么?先看官方文档:我们可以为class组件声明一些特殊的方法,当组件挂载或卸载时去执行这些方法,这些方法叫做生命周期方法。关键字:生命周期、class组件、挂载、卸载、方法。生命周期,在vue中,生命周期是组件从创建到销毁的过程。在React中类似,是组件从挂载到卸载的过程。那么怎么理解挂载?所谓挂载就是将组件渲染并创建DOM元素然后插入到页面,也就是从渲染到显示出来的过程

2021-08-25 16:25:59 428

原创 使用nvm控制node版本的相关问题及遇到的坑

使用nvm控制node版本的相关问题及遇到的坑在工作过程中,不同的项目可能会用到不同版本的node,使用不同版本的npm。这就需要给我们的电脑安装多个版本的node,这时就要用到nvm,nvm可以允许我们的电脑同时存在多个版本的node,不同版本的node可以通过nvm提供的指令进行切换。node npm版本不匹配,卸载有残留问题:说nvm之前,排一个坑。当项目需要的npm版本比你的npm版本低时,你可能会使用 npm install npm@版本号 -g 指令降低版本,然后你发现成功了,就

2021-08-23 17:13:35 1044

原创 前端实习面试常考

前端实习面试常考(持续更新中)计网1、TCP/IP四层2、TCP/UDP区别,使用场景3、TCP三握手、四次挥手4、输入url到界面呈现发生什么5、HTTP2.0特性6、HTTP/HTTPS7、localStorage/sessionStorage8、cookie/session9、Websocket10、安全:CSRF、XSS原理及防范措施11、强缓存、协商缓存JS1、基本数据类型,null/undefined区别2、堆栈、垃圾回收机制3、操作数组的几种方法4、闭包5

2021-07-01 19:41:17 225 1

原创 前端实习面试常考(浮动的影响、清除浮动、BFC )

一、浮动的影响在学习清除浮动之前要理解浮动,所谓浮动就是让元素“漂浮”在文档流之上(什么是文档流关注我的另一篇),也就是脱离文档流。既然叫“浮动”,就是说元素是漂浮的,那元素的下方空间就是可用的,其他的非浮动元素会“当它不存在”。浮动元素的这种特性,会造成两方面的不利影响:第一:大家都知道,如果不给父元素设置宽高的话,父元素会被子元素撑开。而如果子元素设置了浮动,那它将会“漂浮”在“上面”,在“下面”的父元素会“当它不存在”,那么子元素就无法撑开父元素,父元素就没有了高度,这就是大家常说的“父元素高度塌

2021-06-29 20:39:05 305

空空如也

空空如也

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

TA关注的人

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