自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

m0_66706006的博客

学习新知识,争做薪青年

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

原创 上班必备——项目部署环境

ui,产品和测试的同事在前端开发的过程中,都会时刻关注着进度,是要看页面效果的,这个时候怎么看呢?部署到公司私有的服务器或者局域网服务器上,主要用于测试是否存在bug,一般不会让用户和其他人看到,并且测试环境会尽量与生产环境相似。开发环境:开发环境时,程序员们专门用于开发的服务器,配置可以比较随意,为了开发调试方便,一般打开全部错误报告和测试工具。生产环境:是指正式提供对外服务的,一般会关掉错误报告,打开错误日志,是最重要的环境。大家都知道,互联网行业有很多的岗位,前端,后端,产品,测试,ui等。

2023-12-10 22:37:04 136

原创 上班必备代码托管工具git

将本地仓库的代码推送到远程仓库(github,gitee,gitlab等之一),然后你的同事就可以通过一个git命令拉下你推送到远程仓库的代码了。1 // 在拉取远程代码的时候,必须执行上面两步,将你刚写的代码存放到本地仓库,如果你不执行上面两步,那你刚写的代码就会被拉下来的代码覆盖。同样,只有你的同事将他写的代码推送到远程仓库后,你执行git命令才能把他写的代码拉下来,合并到你的代码里。使用分支,可以更加有条理的进行代码管理。拉取远程的代码到master分支(将同事的代码和你之前提交到远程的代码拉回来)

2023-12-10 21:48:40 88

原创 实现单行/多行文本溢出

在日常开发展示页面,如果一段文本的数量过长,受制于元素宽度的因素,有可能不能完全显示,为了提高用户的使用体验,这个时候就需要我们把溢出的文本显示成省略号。-webkit-box-orient: vertical // 和1结合使用,设置或检索伸缩盒对象的子元素的排列方式。text-overflow: ellipsis // 多行文本的情况下,用省略号"..."隐藏溢出范围的文本。-webkit-line-clamp: 2 // 用来限制一个块元素显示的文本行数。

2023-10-01 20:02:56 263

原创 响应式设计的实现方式

页面的设计与开发应当根据用户行为以及设备环境(系统平台,屏幕尺寸,屏幕定向等)进行相应的响应和调整。比如当浏览器的宽度或者高度发送变化时,通过百分比单位,可以使得浏览器中的组件的宽和高随着浏览器的变化而变化,从而实现响应式的效果。CSS3中增加了更多的媒体查询,就像if条件表达式一样,我们可以设置不同类型的媒体查询,并根据对应的条件,height,width属性的百分比依托于父标签的宽高,但是其他盒子属性则不完全依赖父元素。任意层级元素,在使用vw单位的情况下,1vw都等于视图宽度的百分之一。

2023-10-01 15:23:14 370

原创 相等运算符==和全等运算符===

相等运算符,全等运算符,相等运算符和全等运算符的比较

2023-09-28 09:30:11 239

原创 常见的BOM对象

这个方法会根据最有效的方式刷新页面,如果页面自上一次请求以来没有改变过,页面就会从浏览器缓存中重新加载,如果要强制从服务器中重新加载,传递一个参数true即可。history对象用来操作浏览器URL的历史记录,可以通过参数向前,向后或者向指定URL跳转。window.open(),既可以导航到一个特定的url,也可以打开一个新的浏览器窗口。window.close(),仅用于通过window.open()打开的窗口。比如,如何进行页面的后退,前进,刷新,滚动条的滚动等等。五. history。

2023-09-27 16:17:37 62

原创 DOM操作

createDocumentFragment,用于创建一个文档碎片,它表示一种轻量级的文档,主要用来存储临时节点,然后把文档碎片的内容一次性添加到DOM中。inndeHTML,可以修改一个DOM节点的文本内容,还可以通过HTML片段修改DOM节点内部的子树。setAttribute,在指定元素中添加一个属性节点,如果元素中已有该属性就会改变该属性的值。appendChild,把一个子节点添加到父节点的最后一个子节点。删除一个节点,首先要获得该节点本身以及它的父节点。

2023-09-27 12:15:41 113

原创 浏览器从输入URL到页面展示这个过程中都经历了什么

1. 确认双方的收发能力。TCP建立连接之前,需要确认客户端和浏览器双方的收包和发包的能力,最开始的一次握手,客户端发送网络包,服务端收到了,这样服务端就能得出结论:客户端的发送能力,服务端的接收能力是正常的。对于四次挥手,因为TCP是全双工通信,在主动关闭方发送FIN包后,接收端可能还要发送数据,不能立即关闭服务器端到客户端的数据通道,所以也就不能将服务器端的FIN包和对客户端的ACK包合并发送,只能先确认ACK,然后服务器等到无需发送数据时再发送FIN包,所以四次挥手时必须是四次数据包的交互。

2023-09-26 21:51:38 237

原创 Event Loop——事件循环

比如主线程中需要发一个 AJAX 请求,就把这个任务交给另一个浏览器线程(HTTP 请求线程)去真正发送请求,待请求回来了,再将 callback 里需要执行的 JS 回调交给 JS 引擎线程去执行。也就是说,“JS 是单线程的”指的是执行 JS 代码的线程只有一个,是浏览器提供的 JS 引擎线程(主线程)。事件循环的过程中,执行栈在同步代码执行完成后,优先检查微任务队列是否有任务需要执行,如果没有,再去宏任务队列检查是否有任务执行,如此往复。而其他异步任务完成后,将回调放入任务队列中待执行栈来取出执行。

2023-09-24 18:22:50 368

原创 元素定位——实现对页面元素的拖拽效果

offsetLeft: 元素左边框与最近定位的父级元素的距离,若在所有的父级上都没有定位,则相对于整个文档。screenX: 鼠标相对于显示器屏幕左侧位置的x坐标(跟浏览器窗口不一样,把浏览器往左边移动能看出效果)getBoundingClientRect().left: 元素左边框相对于可视区的距离,有可能为负值。pageX: 鼠标相对于文档的x坐标,而非窗口坐标,如果没有滚动距离,则跟clientX是一样的。offsetX: 鼠标相对于事件源元素的x坐标。clientLeft: 元素左边框的宽度。

2023-09-24 16:51:46 166

原创 手写一个简单的Promise(不包括链式.then)

【代码】手写一个简单的Promise(不包括链式.then)

2023-09-23 23:01:58 103

原创 事件委托(也称作事件代理)

事件委托的原理是DOM元素的事件冒泡。给父元素注册事件,利用事件冒泡,当子元素的事件触发,会冒泡到父元素,然后去控制相应的子元素。原因是在于:这些事件仅发生于自身上,而它的任何父节点上的事件都不会产生,所以不会冒泡。可以大量节省内存占用,减少事件注册(比如在ul上代理所有的click事件);事件委托把原本需要绑定的事件委托给父元素,让父元素担任事件监听的职务。3. UI事件:load、unload、scroll、resize。事件委托是JavaScript中常用的绑定事件的技巧。

2023-09-23 12:43:46 36

原创 防抖和节流

例如:设定1000毫秒执行,当你触发了,它会1000毫秒之后执行,但是在还剩500毫秒的时候,你又触发了事件,那就会重新开始1000毫秒之后再执行。例如:设定1000毫秒执行,那你在1000毫秒触发多次,也只在1000毫秒后执行一次。1. 高频事件(快速点击,鼠标滑动,resize事件,scroll事件)防抖:连续触发事件,但是在设定的一段时间内,只执行最后一次。节流:连续触发事件,但是在设定的一段时间内,只执行一次。2. 文本编辑器实时保存。3. 视频播放记录时间。

2023-09-23 10:57:48 20

原创 原型和原型链

对象都有__proto__属性,这个属性指向它的原型对象,原型对象也是对象,它也有__proto__属性,指向原型对象的原型对象,这样一层一层形成的链式结构称为原型链,最顶层找不到则返回null。在js里面,Array.prototype上面挂载了很多方法,例如Array.prototype.splice,Array.prototype.sort等等,js已经提前写好了。构造函数Array---------------->Array.prototype原型。因为这个属性的值是个对象,也称为原型对象。

2023-09-22 18:31:15 22

原创 JS中的call( )方法和apply( )方法

它们的第一个参数都是this要指向的对象,不同的是,call方法传递函数调用形参是以散列形式,apply方法的形参是一个数组。在传参情况下,call的性能要高于apply,因为apply在执行时还多一步解析数组。运用call()和apply()这两个方法,是为了改变this的指向。上面的this指向的是window,如何让他指向对象obj呢?3. JS的继承,构造函数的继承就是靠call来实现的。1. 使用call实现判断复杂数据类型。2. es5把伪数组转为真正的数组。二. call和apply的区别。

2023-09-22 18:29:54 64

原创 数组的常用方法

数组的常用方法

2023-09-22 09:52:33 91

原创 CSS优先级如何计算

css优先级的组成部分,怎么计算,如何比较大小

2023-09-20 11:08:31 506

原创 Vue3,Pinia

二. Vue2 vs Vue3一. Vue3的优势1. 更容易维护组合式API,更好的TypeScript支持2. 更快的速度1. 重写diff算法;2. 模板编译优化;3. 更高效的组件初始化3. 更小的体积1. 良好的TreeShaking;2. 按需引入4. 更优的数据响应式Proxy二. Vue2 vs Vue3整个配置项中,有着一个一个的选项,data是一个选项,methods是一个选项,computed是一个选项等等。

2023-09-09 12:52:59 171

原创 vuex的简介

二. 使用vuex管理数据一. 认识vuex1. 什么是vuexvuex是一个vue的状态管理工具,状态就是数据大白话:vuex是一个插件,可以帮我们管理vue通用的数据(多组件共享的数据)2. vuex的应用场景1. 某个状态在很多组件都要用(个人信息)2. 多个组件共同维护一份数据(购物车)3. vuex的优势1. 共同维护一份数据,数据集中化管理2. 响应式变化3. 操作简洁(vuex提供了一些辅助函数)4. 构建vuex环境。

2023-09-04 16:49:35 399

原创 JavaScript(ECMAScript+DOM+BOM)

一. JavaScript基础1. JavaScript初识1. JavaScript是什么JavaScript是一种运行在客户端的脚本语言(Script是脚本的意思)脚本语言: 不需要编译,运行过程中由Js解释器(Js引擎)逐行来进行解释并执行。现在也可以基于Node.js技术进行服务器端编程。2. JavaScript的发展历史布兰登艾奇(1961年~),在1995年利用10天时间完成JavaScript设计网景公司最初命名位LiveScript,后来以Sun合作之后将其

2023-08-31 21:38:24 175

原创 HTML,CSS,移动端布局

一. HTML基础1. HTML中的注释为了便于阅读和理解,就需要使用注释标签。HTML中的注释以”<!—“开头,以”-->”结束<!--注释语句-->注意:注释标签里面的内容是给程序员看的,这个代码是不执行不显示到页面中的2. HTML中的特殊字符重点记住:空格,大于号,小于号就行 空格符 &nbsp < 小于号 &amp

2023-08-31 08:49:03 205

原创 微信小程序

事件是渲染层到逻辑层的通讯方式。通过事件可以将用户在渲染层产生的行为,反馈到逻辑层进行业务的处理。2. 小程序中常用的事件类型绑定方式事件描述tapbindtap或bind:tap手指触摸后马上离开,类似于HTML中的click事件inputbindinput或bind:input文本框的输入事件changebindchange或bind:change状态改变时触发3. 事件对象的属性列表当事件回调触发的时候,回调会收到一个事件对象event,它具有如下属性:属性类型说明。

2023-08-30 20:07:11 180

原创 React

本质上就是一个JS对象,用来描述你希望在屏幕上看到的内容(UI)。

2023-08-30 15:43:41 50 1

原创 前端工程化,webpack

开发项目直到上线,过程中集成的所有工具和技术。案例:压缩前端html需求:把回车符(\r)和换行符(\n)去掉后,写入新html文件中,步骤:1. 读取源html文件内容2. 正则替换字符串写入到新的html文件中/*** 目标1:压缩 html 代码* 需求:把回车符 \r,换行符 \n 去掉,写入到新 html 文件中* 1.1 读取源 html 文件内容* 1.2 正则替换字符串* 1.3 写入到新的 html 文件中*/// 1.1 读取源 html 文件内容。

2023-08-30 11:11:14 106 1

原创 vue脚手架(vue-cli),vue2,vue3,ref引用,路由和路由插件(vue-router),路由导航守卫,插槽

/全局过滤器-独立于每个vm实例之外//Vue.filter()方法接收两个参数,第1个参数是全局过滤器的“名字”,第2个参数是全局过滤器的“处理函数”})4. 连续调用多个过滤器过滤器可以串联地进行调用--把message的值,交给filterA进行处理-->--把filterA处理的结果,再交给filterB进行处理-->--最终把filterB处理的结果,作为最终的值渲染到页面上-->5. 过滤器传参过滤器的本质是JavaScript函数,因此可以接收参数。

2023-08-29 23:54:29 785 1

原创 Git,版本控制系统,忽略文件,Git仓库

记录文件状态内容和历史记录的地方。.git文件夹2. 获取Git仓库的两种方式1.把本地文件夹转换成Git仓库,命令git init2. 从其它服务器克隆一个已存在的Git仓库以上两种方式都能够在自己的电脑上得到一个可用的Git仓库。3. 在现有目录中初始化仓库如果自己有一个尚未进行版本控制的项目目录,想要用Git来控制它,需要执行如下两个步骤:1. 在项目目录中,通过鼠标右击打开”Git Bash”2. 执行git init命令将当前的目录转化为Git仓库git init命令会创建一个名为。

2023-08-28 19:57:29 278

原创 数据库基础,SQL语句,Token,session认证,JWT认证

数据库基础,SQL语句,token,session身份认证和JWT身份认证

2023-08-24 17:16:23 328

原创 Node.js

一个基于Chrome V8引擎的。

2023-08-24 10:13:29 71

原创 TypeScript

3. 数组类型。

2023-08-22 22:22:12 144

原创 jQuery

JavaScript库:即library,是一个提前封装好的特定的集合(方法和函数)。就是在这个库中,封装了很多预先定义好的函数在里面,比如动画animate,hide,show,比如获取元素等简单理解:就是一个JS文件,里面对我们原生js代码进行了封装,存放到里面。这样我们可以快速高效的使用这些封装好的功能了。比如jQuery,就是为了快速方便的操作DOM,里面基本都是函数(方法)。用户自己给元素添加的属性,我们称为自定义属性。比如给div添加index=’1’。

2023-08-21 15:29:32 28

原创 Ajax,jquery,axios,jsonp,http协议

上网的本质目的:通过互联网的形式来获取和消费资源服务器:上网过程中,负责存放和对外提供资源的电脑,叫做服务器。客户端:在上网过程中,负责获取和消费资源的电脑,叫做客户端。URL地址:URL中文叫统一资源定位符,用于标识互联网上每个资源的唯一存放位置。浏览器只有通过URL地址,才能正确定位资源的存放位置,从而成功访问到对应的资源。URL地址的组成部分:1. 客户端与服务器之间的通信协议2. 存有该资源的服务器名称3. 资源在服务器上具体的存放位置使用Ajax请求数据时,

2023-08-21 11:22:09 124

原创 JS中的this指向问题

1、,this始终指向全局对象window,无论是否是严格模式。2、通过函数名()直接调用,直接example()调用函数,this指向undefined,window.example()调用函数this指向window。非严格模式下,通过example()和window.example()调用函数对象,this都指向window。3、通过,this指向这个对象。4、函数作为数组的一个元素,通过数组下标调用,this指向这个数组。5、,this指向window。6、构造函数(new关键字)调用。

2023-08-11 14:15:35 19

原创 flex布局

nowrap:默认值,弹性项不换行- wrap:弹性项自动换行,如果需要的话- wrap-reverse:弹性项自动换行,但是倒序排列默认情况不换行,即使容器无法承受所有项目,他们会按照等比例压缩,强制在主轴方向显示。比如:下面的代码中,设置子元素在容器中自动换行。

2023-08-09 20:06:40 30 1

原创 4种css预处理语言的区别

先装上less加载器,-D表示开发依赖。

2023-08-09 11:03:56 44 1

原创 Echarts

ECharts是一款基于JavaScript的,提供直观,生动,可交互,可个性化定制的数据可视化图表。

2023-08-08 17:30:52 56

原创 插件和依赖

因此在项目开发完成后不需要把插件打包进项目中,比如有个可以自动生成getter和setter的插件,嗯对~这就是插件了,因为这玩意在编译时生成getter和setter,编译结束后就没用了,所以项目打包时并不需要把插件放进去。都需要用到的包,比如项目中需要一个包,就要添加一个依赖,这个依赖在项目运行时也需要,因此在项目打包时需要把这些依赖也打包进项目里;,vue-cli可以通过它来修改你的项目关于element的配置。,是使用 npm i element的时候下载的。

2023-08-08 15:08:49 68

原创 Tomcat

Tomcat是常见的免费的web服务器。Tomcat由一系列的组件构成,其中核心的组件有三个:web容器:完成web服务器的功能。servlet容器:名字为catalina,用于处理Servlet代码。JSP容器:用于将JSP动态网页翻译成Servlet代码。

2023-08-08 10:54:12 25

原创 什么是API

API全称Application Programming Interface ,应用程序接口。前端所说的API,通常指的是JavaScript封装的一些功能函数,比如说上面就是一个简单的求和的API,API可以理解为一个功能。

2023-08-08 09:24:18 28

原创 前后端分离

前后端分离

2023-08-07 19:44:38 26 1

原创 JSON对象

JSON 使用最多的地方莫过于 Web 开发领域了,现在的数据接口基本上都是返回 JSON 格式的数据,比如:1.1 使用 Ajax 异步加载的数据;1.2 RPC 远程调用;1.3 前后端分离,后端返回的数据;1.4 开发 API,例如百度、高德的一些开放接口。这些接口一般都会提供一个接口文档,说明接口调用的方法、需要的参数以及返回数据的介绍等。

2023-08-07 18:34:42 17 1

空空如也

空空如也

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

TA关注的人

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