自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

申雨茜的博客

21届卷王,只做前端。

  • 博客(46)
  • 资源 (1)
  • 收藏
  • 关注

转载 前端面试三千问

面试三千问

2022-02-16 14:35:59 3695

原创 vue 自定义指令-按钮加节流

在src目录下,新建文件夹directive,并在里面新建preventClick.jsimport Vue from "vue"Vue.directive("preventReclick", { inserted: function (el, binding) { el.addEventListener("click", () => { if (!el.disabled) { el.disabled = true

2021-09-16 21:02:00 341 1

原创 JS 小数取整

第一种:补位0 | 2.5 // 2第二种:利用JS的APIMath.trunc(2.5) // 2parseInt(2.5) //2Math.round(2.5) // 3Number(2.5.toFixed()) // 3

2021-09-08 17:16:48 157

转载 git将当前修改提交至其他分支

当前处于A分支,需要将此次的代码提交至B分支则可以进行以下操作在没有进行commit之前可以进行一下操作1、通过git stash将工作区恢复到上次提交的内容,同时备份本地所做的修改git stash2、然后切换至B分支git checkout B3、从git栈中获取到最近一次stash进去的内容,恢复工作区的内容,获取之后,会删除栈中对应的stashgit stash pop4、在进行正常的提交代码步骤即可git add /src/main/…5、git commit -m “功能开发

2021-09-06 13:46:27 1254

原创 学习vue源码笔记

function cached(fn) { var cache = Object.create(null) return function cachedFn(str) { var hit = cache[str] return hit || (cache[str] = fn(str)) } } /** * Camelize a hyphen-delimited string. .

2021-09-02 20:30:40 98

原创 学习前端的第405天,渲染优化进化史

文章目录前言一、渲染进化史二、各板块介绍1.SSR(2005年之前)2.CSR(2005年)3.SSR(2012年)前言首屏优化或者项目优化是面试必考的一题,服务端渲染又是优化里面的十分重要的一、渲染进化史SSR(2005年之前) => CSR(2005年) => SSR(2012年) => ESR(2020年)二、各板块介绍1.SSR(2005年之前)是(Server Side Rendering)的简写,主要是JSP,PHP为主,前后端杂糅在一起。2.CSR(2005

2021-08-31 21:43:35 86

原创 JQuery给元素绑定事件

给a标签绑定点击事件< a class=“some”> < /a>$(’.some’).each(function(i) {$(this).click(function() {// 输入你的代码})})

2021-08-30 14:17:37 135

原创 vue webpack转vite遇到的问题以及解决方案

最近公司的项目越做越大,每次启动一下就要花费一两分钟,为了更长时间摸鱼,于是决定转vite直接引用大神的小工具:wp2vite即使用完了还是会发现很多小问题:导入一个文件夹下的多个文件时, 在vite里面require是不能使用的之前的代码:require.context('./modules', true, '\.js$')更改后import.meta.globEager('./modules/*.js')...

2021-08-25 22:15:48 1128

转载 JavaScript-前端工程师-最全语法规范

397t,前端工程师必备技能,JS语法规范。github连接

2021-08-23 23:25:31 93

转载 ES,TS,JS的区别是什么?

ES是一个计算机编程语言标准,这种语言只要实现出来就一定能用(而实际上没有实现,不是因为太难什么的,单纯是不想做)JS是继承并略微扩展ES的另一个计算机编程语言标准。各大浏览器实现了这门语言TS是继承并大量扩展ES的又一个计算机编程语言标准,并且这门语言规定自己可以转换成JS。微软自己实现了这门语言https://www.zhihu.com/question/361303428...

2021-08-21 19:48:35 1907

原创 正则表达式-正向先行断言-负向先行断言-后向负行断言-正向负行断言

正向先行断言-负向先行断言-后向负行断言-正向负行断言(?=pattern) 正向先行断言代表字符串中的一个位置,紧接该位置之后的字符序列能够匹配 pattern。(?!pattern) 负向先行断言代表字符串中的一个位置,紧接该位置之后的字符序列不能匹配 pattern。(?<=pattern) 正向后行断言代表字符串中的一个位置,紧接该位置之前的字符序列能够匹配 pattern。(?<!pattern) 负向后行断言代表字符串中的一个位置,紧接该位置之前的字符序列不能匹配 p

2021-08-21 10:35:08 1001

原创 JavaScript array.at(index) 数组的at方法

今天是学习前端的第392天,今天我来学习数组的新增方法at,at可以说是indexOf的增强版。当我们在表示数组的最后一个元素时候我们是这样表示的:let a = [1, 2, 3]a.indexOf(a.length - 1)学习了at之后我们这样表是:let a = [1, 2, 3]a.at(-1)...

2021-08-18 19:57:55 2462 1

原创 URLCatche缓存机制-前端实现

今天是学习前端的第391天,学习了一下在牛客看到同学的URLCatche缓存写的十分的有意思就研究了一下,并可以加强我们对指针的学习。URLCatche大概含义就是个具有一定长度的储存卡,首先设置上长度size,存储put的长度超过限制后会将最开始存储的数据删除掉,获取get数据后数据会放到首位。这是一个空URLCatche存入一条数据后使用源码放在下面:class ListNode { constructor(key, val) { this.key = key th

2021-08-17 22:23:47 140

原创 TypeScript之高级类型record

interface CatInfo { age: number; breed: string;} type CatName = "miffy" | "boris" | "mordred"; const cats: Record<CatName, CatInfo> = { miffy: { age: 10, breed: "Persian" }, boris: { age: 5, breed: "Maine Coon" }, mordred: { age: 16, b

2021-08-11 23:00:45 876

转载 vue 常用事件绑定 | 相信你一定用的到

<!-- 方法处理器 --><button v-on:click="doThis"></button><!-- 动态事件 (2.6.0+) --><button v-on:[event]="doThis"></button><!-- 内联语句 --><button v-on:click="doThat('hello', $event)"></button><!-- 缩写 --&

2021-06-24 01:41:41 138

原创 前端开发工程师VS code常用插件

今天发现自己平常用的VS code 插件使用的比较少,然后参考了一下别人的常用的插件记录在这里,可以帮我们提高开发效率HTML Snippets: H5代码片段vscode-icons:左侧栏的图标JS-CSS-HTML Formatter :格式化Path Autocomplete:路径自动补全View In Browser:从浏览器中查看html文件,使用系统的当前默认浏览器Chinese (Simplified) Language :中文简体语言Code Runner : 右键运行JS

2021-06-01 14:58:27 327

原创 Vant Collapse 移动端递归菜单

// 控制只打开一个 onCollapseOpen(openKeys) { const latestOpenKey = openKeys.find( (key) => this.openKeys.indexOf(key) === -1 ); if (this.rootSubmenuKeys.indexOf(latestOpenKey) === -1) { this.openKeys = openKeys; } .

2021-04-22 09:48:15 744

原创 网络七层模型与TCP/IP四层模型

网络七层模型1.物理层-数据链路层-网络层-传输层-会话层-表示层-应用层物理层:建立、维护、断开物理连接数据链路层:建立逻辑连接,进行硬件地址寻址,差错校验等功能网络层:进行逻辑地址寻址,实现不同网络之间的路径选择传输层:定义传输数据的协议端口号,以及流控和差错校验会话层:建立,管理,终止会话应用层:网路服务与最终用户的一个接口应用层HTTP、SMTP、SNMP、FTP、Telnet、 SIP、 SSH、 NFS、RTSP、XMPP、Whois、 ENRP表示层XDR

2021-04-05 23:26:18 116

原创 JavaScript加法运算

1.运算元其一为字符串字符串的拼接运算2.运算元其一为数字将另一个运算元转为数字再进行计算,如果为复杂数据类型则转为字符串3.一元运算符强制转化为数字 + {a : 3} // NaN4.运算元其一为复杂数据类型加号前面为空{},则浏览器以为他是空代码块,所以等价于一元运算符如果加号前面是对象且不为空则报错,不期盼的标识符其他情况 字符串进行拼接对象转为字符串为:[object:object]数组转为字符串为:相当于调用join(’,’),例如:[1,2,3]

2021-03-27 18:16:48 450

原创 vue.cli4报错[WDS] Disconnected(中级解决方案)

最近在做Vue项目的时候,遇到了一些莫名其妙的问题,在这里记录一下,以供参考:我相信下面这个问题大家一定不会陌生,因为有时候这个问题会出现在控制台,但是也不影响项目的运行,但是如果不管他就是放在那里看着也挺“闹心“的:所以我就上网查找相关的资料,说这个问题是全局代理的问题,可是试过很多方法都没成功最后在终端执行命令npm install webpack-dev-server --save-dev,才能解决,因为一开始安装到了生产环境中,应该安装到开发环境中,完美解决!...

2021-03-17 22:55:39 675

原创 2021 前端工程师 面试题(仅题目)

小米提前批一面二面一面:1、公司项目对你印象深刻的点是哪里,遇到过什么样的问题,如何解决的?答:开始以为面试官小姐姐是hr,因为昨天晚上约的我电话,于是我叙述项目的时候说的很笼统,没有提技术关键字,很尴尬。2、公司项目对你最大的收获是什么?答:从头开始学习了vue项目匹配的UI框架,element-ui。学习到了团队协作的重要性, 参与了git的联动开发。3、es6有在项目中用过吗?请举例说明。答:当时一股脑想了一下就说出了箭头函数,let和const还有promise(其实promise我掌

2020-12-29 08:21:35 2368

原创 2021 前端工程师 面试题总汇

HTTP、网络、浏览器HTTP和HTTPS的区别?HTTPS需要CA申请书,很少有免费的,需要交费HTTP运行在TCP之上,所有传输都是明文,而HTTPS是运行在SSL/TLS之上,而SSL/TLS是运行在TCP之上,所有传输内容都是经过加密的HTTPS有效的防止了运营商的劫持HTTP用的端口是80,HTTPS运行的端口是443HTTPS是非对称加密HTTP1.0、HTTP1.X 与HTTP2.0的区别?1996年 1999年 2015年新的二进制格式(Binary Format)

2020-12-29 08:19:41 4310 2

原创 彻底搞懂JS bind

冴羽大佬分析bind连接:https://github.com/mqyqingfeng/Blog/issues/12下面是菜鸡的逐句分析:Function.prototype.bind = function(context) { // 判断是否是函数调用bind, 如果不是bind则抛出异常 if(this instanceof !== 'function') { throw new Error('亲,只有函数才可以调用bind哦!') } // 因为arguments是一个伪数组,所以这样

2020-12-21 13:09:26 139

原创 前端面试题 作业帮一面 12月4日 55分钟

1.判断是不是数组?​ const arr = [1,2,3,4]arr instanceof Array //trueObject.prototype.toString.call(arr) === ‘[object Array]’;Array.isArray(arr)arr.constructor === Arrayarr.__ proto__ === Array.prototype2.Flex:1代表什么?flex: 1 === flex: 1 1 auto; flex-gro

2020-12-08 21:25:30 1010 1

原创 cookies,sessionStorage 和 localStorage 的区别

Cookie每个域名存储量比较小(各浏览器不同,大致 4K )所有域名的存储量有限制(各浏览器不同,大致 4K )有个数限制(各浏览器不同)会随请求发送到服务器LocalStorage永久存储单个域名存储量比较大(推荐 5MB ,各浏览器不同)总体数量无限制SessionStorage只在 Session 内有效 (关闭浏览器session销毁)存储量更大(推荐没有限制,但是实际上各浏览器也不同)...

2020-12-08 20:48:25 48

原创 HTML5有哪些新特性、移除了哪些元素?

Html5新增了 27 个元素,废弃了 16 个元素,根据现有的标准规范,把 HTML5 的元素按优先级定义为结构性属性、级块性元素、行内语义性元素和交互性元素 4 大类。结构性元素主要负责web上下文结构的定义section:在 web 页面应用中,该元素也可以用于区域的章节描述。header:页面主体上的头部, header 元素往往在一对 body 元素中。footer:页面的底部(页脚),通常会标出网站的相关信息。nav:专门用于菜单导航、链接导航的元素,是 navigator 的缩写.

2020-12-08 20:13:21 231

原创 浅谈原型及原型链的理解

一、原型原型的作用:①数据共享,节约资源。②继承例1:let friend = new Person(); Person.prototype.sayHi = function() { console.log("hi"); }; friend.sayHi(); // "hi",没问题!实例之所以能够调用原型的方法是因为,实例与原型之间松散的联系,他先从实例中寻找,发现找不到,然后从原型中寻找找到了,然后输出。例2:function Person() {} let friend = n

2020-12-07 21:16:37 297

原创 vue 解决dom动态绑定data 刷新页面数据没有自动绑定问题

问题:今天发现了问题,刷新页面数据没有自动绑定,所有方法都试过了,刷新页面还是活跃标签没有变红解决方法:将绑定标签的方法放入到Vue的Updata函数中,就可以解决啦,或许会影响性能但是真的管用!...

2020-10-27 21:38:17 459

原创 解决VSCode用户片段输入$符号无效

当我们在用户片段中输入$或者 / $符号时,打印出来没有效果。解决方案:输入‘ $$’,即可解决问题

2020-09-01 18:32:46 3008 2

原创 解决vue中如何套用less语句

只需要在style标签中加入这句话即可

2020-08-25 11:26:38 95

原创 解决git pull/push时候总提示输入账号密码

1.打开项目所在目录中的.git文件夹2.并用记事本方式打开config文件3.在config中添加以下内容

2020-08-24 17:04:46 276

原创 Day80向JavaScript进阶第五天

调整窗口事件自动关闭广告和清除自动关闭–案例

2020-07-30 21:37:46 106 1

原创 JavaScript编辑考研倒计时

代码:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> * {

2020-07-30 13:13:32 304

原创 Day79向JavaScript进阶的第四天

隔行变色全选反选tab栏切换H5获取属性的方法父节点子节点的获取子节点第一个子元素和最后一个子元素新浪下拉菜单<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <tit

2020-07-30 07:46:28 105

原创 Day78-Web APIs第一阶段

字符串转换为数组split(‘分隔符’)替换字符,‘a’替换为‘b’,replavce(会替换第一个字符)简单数据类型和复杂类型 ==简单数据类型== 又叫基本数据类型,又叫值类型,string,number,boolean,undefined,null ==复杂数据类型== , 又叫引用数据类型,Object,Arry,Date等...

2020-07-30 07:43:56 142

原创 Day70向CSS进阶二

1.快速生成HTML结构语法2.3.4.后代选择器又称包含选择器,儿子孙子都会被改变ol中的li改颜色5.子选择器,选中的是亲儿子6.并集选择器7.链接伪类选择器8.链接伪类选择器的注意事项9.:focus伪类选择器10.复合选择器的总结,后代,并集,链接最重要11.div自己占一行,一行可以放多个span12.< h1>和< p>是文字标签,只能放文字13.行内元素,链接里面可以放块元素不可以放链接14.行内块元素15.转换

2020-07-20 21:05:54 101

原创 Day69向CSS进阶一

1.更改颜色2.css选择器的作用3.标签选择器4.类选择器5.利用选择器装三个盒子,div是一个盒子6.多类名的使用7.ID选择器8.id选择器和类选择器的区别9.选择器的总结10.字体属性,如果第一个字体有就用第一个,没有就用第二个。11.字体大小,标题特殊12.字体粗细,400是正常,700是粗体,不要单位13.字体倾斜,italic字体倾斜14.符合属性,位置不能颠倒,size和family不能省15....

2020-07-20 07:12:08 86

原创 Day68向HTML进阶

◆网页常用浏览器Web标准什么是网站?网站是指在因特网上根据一定的规则 ,使用HTML等制作的用于展示特定内容相关的网页集合。什么是网页?网页是网站中的一“页”, 通常是HTML格式的文件,它要通过浏览器来阅读。网页的构成网页是构成网站的基本元素,它通常由图片、链接、字声音、视频等元素组成。通常我们看到的网页,常见以.htm或.html后缀结尾的文件,因此将其俗称为HTML文件。D1.2什么是HTMLHTML指的是超文本标记语言(Hyper Text Markup Language).

2020-07-19 14:36:47 158

原创 Day67下载时文件乱码

1.下载时文件乱码1.获取获取user.agent信息2.如果是火狐浏览器和不是火狐浏览器对文件乱码的处理if(agent.toLowerCase().indexOf("firefox") !=-1) { response.addHeader("content-Disposition","attachment;filename==?UTF-8?B?"+new String(Base64.decodeBase64(fileName.getBytes("utf-8")))+"?="); }el

2020-07-19 06:58:21 154

原创 Day66 ①控制文件上传类型和大小②下载

1.设置编码2.检查刚才提交的表单是否有multipart/form-data3.创建upload和factroy4.设置临时的缓冲文件大小为10,设置临时文件的目录5.控制上传单个文件大小20kb ServletFileUpload,延迟3秒,通过parseRequest解析form中所有请求字段,并保存到items集合中(即前台传递的sno,sname,sage,saddress等就保存在items)=6.通过迭代器遍历items中的sno,sname7.如果上传的是文件8.

2020-07-16 20:50:29 96

content.zip

用JavaScript实现谷歌浏览器去除广告插件

2021-06-27

空空如也

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

TA关注的人

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