IT面试
文章平均质量分 69
学习是为了更好的发展,it面试题就是检测我们学习的指向标
燕穗子博客
成长就是一个不优秀的人带着一群不优秀的人一起走在变优秀的路上
展开
-
常用的第三方ui框架
1、Amaze UIAmaze UI v2.5.0 , 2015-11-30 发布,类似于Bootstrap2、Bootstrap框架推荐使用Bootstrap5,相比Bootstrap3,Bootstrap5重构核心已经放弃Jquery了大名鼎鼎的框架,学习前端必须学习的UI框架。3、H-UI框架不想重新写繁琐的页面,少写前端页面代码的,推荐使用这个框架4、Layui框架经典模块化前端框架,layer弹窗必用。5、Vant有赞前端框架,分两个版本Vue 版小程序版...原创 2022-06-21 08:30:00 · 3827 阅读 · 0 评论 -
什么是递归?
一、啥叫递归聊递归之前先看一下什么叫递归。递归,就是在运行的过程中调用自己。构成递归需具备的条件:1. 子问题须与原始问题为同样的事,且更为简单;2. 不能无限制地调用本身,须有个出口,化简为非递归状况处理。二、递归语言例子我们用2个故事来阐述一下什么叫递归。1,从前有座山,山里有座庙,庙里有个老和尚,正在给小和尚讲故事呢!故事是什么呢?“从前有座山,山里有座庙,庙里有个老和尚,正在给小和尚讲故事呢!故事是什么呢?‘从前有座山,山里有座庙,庙里有个老和尚,正在给小和尚讲故事呢!故事是.原创 2022-06-21 08:45:00 · 888 阅读 · 0 评论 -
数组怎么转对象,对象怎么转数组
数组转对象思路一:使用数组的forEach方法遍历数组定义一个空对象将遍历得到的每一个对象中的value值当做新对象的key,label的值当做新对象的值循环结束后将obj的值返回给调用者即可思路二:对象转数组思路一:...原创 2022-06-20 08:45:00 · 11917 阅读 · 0 评论 -
splice()方法的使用介绍
1.删除任意数量的项只需要传入两个参数即可。要删除的第一项的位置和要删除的项数2.添加:可以向指定位置添加任意的项只需要提供三个参数即可:起始位置,0(要删除的项数)和要添加的项。如果要添加多项可以继续在后面写参数用逗号分隔。3.替换(删除再添加):可以向指定位置添加任意的项,同时删除任意数量的项。需要指定三个参数:起始位置,删除的项数和要添加的项数,添加的项数不用和删除的项数保持一致。4.不接收返回值也是可以的...原创 2022-06-20 08:30:00 · 780 阅读 · 1 评论 -
js数组求和的5种方法
数组求和的5种方式1、不考虑算法复杂度,用递归做:2、常规循环3、函数式编程 map-reduce4、forEach遍历5、eval原创 2022-06-19 11:00:44 · 2725 阅读 · 0 评论 -
js中对象合并的4种方式,数组合并的4种方法
一、对象合并1、拓展运算符(...)2、Object.assign()3、递归赋值4、jquery中的extend()二、数组合并1、扩展操作符2、使用array.concat()方法进行合并3、关于Apply4、array.push()方法进行合并原创 2022-06-19 10:50:05 · 45861 阅读 · 0 评论 -
Cookie 、Session、localstorage、Sessionstorage的区别
Cookie & Session(会话跟踪技术)、H4的存储机制;localstorage、Sessionstorage是Web Storage,H5的本地存储机制。是针对HTML4中 Cookie 存储机制的一个改善,由于Cookie存储机制有很多缺点,HTML5不再使用它,转而使用改良后的 Web Storage 存储机制。 3.WebStorage两个主要目标:(1)提供 cookie 之外存储会话数据的路径。(2)提供跨会话持久化存储大量数据的机制。...原创 2022-06-19 09:37:47 · 410 阅读 · 0 评论 -
HTTP 和 HTTPS 的区别
二、HTTP 与 HTTPS 的区别1、HTTPS 协议需要到 CA (Certificate Authority,证书颁发机构)申请证书,一般免费证书较少,因而需要一定费用。(以前的网易官网是http,而网易邮箱是 https 。)2、HTTP 是超文本传输协议,信息是明文传输,HTTPS 则是具有安全性的 SSL 加密传输协议。3、HTTP 和 HTTPS 使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。4、HTTP 的连接很简单,是无状态的。HTTPS 协议是由.原创 2022-06-17 17:39:48 · 162 阅读 · 0 评论 -
父子组件的生命周期(执行顺序)
结合父子组件之后,一个完整的父子组件生命周期:父beforeCreate -> 父created -> 父beforeMount -> 子beforeCreate -> 子created -> 子beforeMount -> 子mounted -> 父mounted->父beforeUpdate->子beforeUpdate->子updated->父updated->父beforeDestroy->子beforeDestroy->子destroyed->父destroyed...原创 2022-06-17 17:14:00 · 4538 阅读 · 0 评论 -
正向代理、反向代理介绍
目前大家提到的代理技术无外乎三种:正向代理、透明代理和反向代理1、正向代理就租房族来说吧( 不知道大家有没有租过房子 ,反正我只是个freshman!)据我所知,租房子这个活动中的参与者无外乎:①租客(用户)、②中介(代理服务器)、③房东(国外网站,目标服务器)租房子一般会很难找到房东(目标服务器),但是房东却会把房屋信息、钥匙给中介(代理服务器)。对于房东(目标服务器)来说,他可能不知道要租他房子的人(用户)是谁,他只知道中介(代理服务器)在联系他。引入中介(代理服务器)其实也就是因为租客(用原创 2022-06-17 16:53:51 · 5056 阅读 · 0 评论 -
vue中如何自定义指令
我们看到的v-开头的行内属性,都是指令,不同的指令可以完成或实现不同的功能,对普通 DOM元素进行底层操作,这时候就会用到自定义指令。除了核心功能默认内置的指令 (v-model 和 v-show),Vue 也允许注册自定义指令...原创 2022-06-16 17:39:49 · 4352 阅读 · 2 评论 -
keep-alive的理解和使用
有时候我们不希望组件被重新渲染影响使用体验;或者处于性能考虑,避免多次重复渲染降低性能。而是希望组件可以缓存下来,维持当前的状态。这时候就可以用到keep-alive组件原创 2022-06-16 15:25:54 · 1265 阅读 · 0 评论 -
vue常用的命令
Vue一些常用命令:1.安装vue-clinpm install --global vue-cli2.创建一个基于 webpack 模板的新项目vue init webpack 项目名称3. 安装依赖:cd 项目名称npm install3运行:npm run dev4.安装vue-resource插件(通过XMLHttpRequest或JSONP发起请求并处理响应 //get post请求):npm install vue-resource --save......原创 2022-06-15 21:58:32 · 5647 阅读 · 1 评论 -
vue 首页加载,速度优化及解决首页白屏问题
一、Spa单页面的加载过程二、首页加载慢的原因三、加载速度慢解决方案1、分离打包第三方资源包2、第三方库使用CDN引入3、vue-router路由懒加载4、静态资源压缩,代码压缩,图片压缩5、不要滥用三方库6、去掉编译中的map文件7、代码层面的优化四、解决白屏,体验优化...原创 2022-06-15 21:31:27 · 3336 阅读 · 1 评论 -
本地存储和会话存储
HTML5的Web存储功能是让网页在用户计算机上保存一些信息。Web存储又分为两种:(1)本地存储,对应localStorage对象。用于长期保存网站的数据,并且站内任何页面都可以访问该数据。(2)会话存储,对应 sessionStorage对象。用于临时保存针对一个窗口(或标签页)的数据。在访客关闭窗口或者标签页之前,这些数据是存在的,而关闭之后就会被浏览器删除。...原创 2022-06-15 11:54:04 · 4653 阅读 · 0 评论 -
HTTP协议中的常用状态码
1XX (服务器端接收请求,正在处理)场景介绍:假如浏览器端想给服务器发送一个较大的文件,如果服务器端给浏览器端返回的是1XX的状态码,则表示服务器端已经接收到了请求,正在处理。2XX(请求成功)场景介绍:服务器端接收到了请求,并进行了处理。3XX(重定向状态码)场景介绍:这个状态码表示服务器端认为浏览器端需要采取进一步的操作才能完成请求,重定向的目标在本次响应的Location域中。4XX(浏览器端/客户端错误)场景介绍:这类状态码代表着浏览器端可能发生了错误,妨碍了服务器的处理...原创 2022-06-11 22:36:50 · 261 阅读 · 0 评论 -
前端token中4个存储位置的优缺点
一、token是什么Token:访问资源的凭证。一般用户通过用户名密码登录后,服务端会将登录凭证做数字签名,加密之后的字符串作为Token。并在客户端后面的向服务端的请求中携带,作为凭证。二、token一般存放在哪里?token 在客户端一般存放于localStorage、cookie、或sessionStorage,vuex中。......原创 2022-06-11 22:12:19 · 5430 阅读 · 0 评论 -
vue中v-model响应式原理
v-model其核心就是,一方面modal层通过defineProperty来劫持每个属性,一旦监听到变化通过相关的页面元素更新。另一方面通过编译模板文件,为控件的v-model绑定input事件,从而页面输入能实时更新相关data属性值。v-model是vue的一个语法糖,通过v-bind去单项绑定vue实例里面的data数据,然后再通过各种事件比如@change @input等去进行触发事件,从而达到修改实例数据的值...原创 2022-06-09 09:03:22 · 567 阅读 · 1 评论 -
vue中总线机制(EventBus)
一、EventBus的简介二、使用方法第一步:2种方式初始化第二步:发送事件第三步:接受事件第四步:移除事件三、全局EventBus四、EventBus的优缺点一、EventBus的简介EventBus 又称时间总线 ,理解上来讲 EventBus 机制是通知的概念,EventBus作为所有组件共享的事件中心,既可以发送事件也可以接受事件,所有组件都可以平行的接到到相对应的数据。...原创 2022-06-08 10:33:46 · 1158 阅读 · 0 评论 -
路由器的两种工作模式:hash模式和history模式
路由器(vue-router)有两种工作模式:hash模式和history模式,默认是hash模式。原创 2022-06-08 09:52:19 · 1726 阅读 · 0 评论 -
Vue路由跳转的4种方式
router-view 实现路由内容的地方,引入组件时写到需要引入的地方,需要注意的是,使用vue-router控制路由则必须router-view作为容器。路由跳转4种方式1、 标签路由 router-link2、编程式路由 this.$router.push()3、this.$router.replace()(与this.$router.push()类似)4、this.$router.go(n)5、this.$router.push()、this.$router.replace()、....原创 2022-06-08 09:18:42 · 1261 阅读 · 1 评论 -
前端3种方案解决重复请求后端数据
遇到重复请求的问题,即一次请求还没有执行完毕,用户又点击了一次,这样重复请求会造成后台数据异常。又比如在查询数据的时候点击了一次查询,还在处理数据的时候,用户又点击了一次查询。第一次查询执行完毕页面已经有数据展示出来了,用户可能正在看呢,此时第二次查询也处理完返回到前台把页面刷新了,就会造成很不好的体验。...原创 2022-06-08 08:58:35 · 5452 阅读 · 0 评论 -
Vue路由传值
一、路由传值:1、通过路由的路径带参数(url中显示参数),同时配置路由的时候也要带上参数,获取参数使用this.$route.params.id,直接拿路由里面的参数。2、不用在router.js路由页配置参数来接收(url中不显示参数,刷新页面会丢失传递过来的参数),而是通过name或者path去跳转(name和path写法一样,区分name和path)...原创 2022-06-07 09:14:17 · 2071 阅读 · 0 评论 -
常见web安全及防护原理
一、SQL注入二、xss 跨站脚本(Cross-site Scripting)三、 CSRF四、上传漏洞五、文件解析漏洞六、 DDos攻击 分布式拒绝服务(Distributed Denial of service Attack)七、目录遍历漏洞原创 2022-06-05 21:30:10 · 952 阅读 · 0 评论 -
JS中栈和堆的区别?
栈(stack):由操作系统自动分配内存空间,自动释放,存储的是基础变量以及一些对象的引用变量,占据固定大小的空间。堆(heap):由操作系统动态分配的内存,大小不定也不会自动释放,一般由程序员分配释放,也可由垃圾回收机制回收。...原创 2022-06-05 21:10:06 · 2951 阅读 · 0 评论 -
JS 哪些操作会造成内存泄露,对应的解决方法
一、内存泄漏二、哪些操作会造成内存泄漏1.意外的全局变量2、未清理的DOM元素引用3、被遗忘的定时器或者回调4、闭包5.、console.log三、怎样避免内存泄露原创 2022-06-05 20:57:51 · 1661 阅读 · 0 评论 -
JS为什么要延迟加载,有哪些方法可以实现延迟加载?
对于js的优化(关于js的延迟加载)的好处是有助于提高页面加载速度,js延迟加载就是等页面加载完成之后在加载js文件.HTML元素是按其在页面中出现的次序调用的,如果用javascript来管理页面上的元素(使用文档对象模型dom),并且js加载于欲操作的HTML元素之前,则代码将出错。也就是说,我们写了js语句来获取DOM对象,但由于DOM结构还没有加载完成,因此获取到的是空对象。...原创 2022-06-05 14:04:05 · 3177 阅读 · 1 评论 -
JSON是什么?对JSON的简单理解
1.json是一种轻量级的数据交换格式,在与后端的数据交互中具有较为广泛的应用。2.在javaScript中,我们可以直接使用json,因为JavaScript中内置了json的解析,把任何的JavaScript对象变成json,就是把这个对象序列化成一个json格式的字符串,这样才能通过网络传递给其他计算机。如果我们收到json格式的字符串,只需要把它反序列化为一个JavaScript对象,就可以在JavaScript中直接使用这个对象了。3.JSON 是适用于 Ajax 应用程序的一种有效格式,原因原创 2022-06-04 20:52:25 · 14000 阅读 · 4 评论 -
document.write、innerHTML、innerText的区别
innerHTML是符合W3C标准的属性,而innerText只适用于IE浏览器(现在也适应chrome浏览器),因此,尽可能地去使用 innerHTML,而少用innerText,如果要输出不含HTML标签的内容,可以使用innerHTML取得包含HTML标签的内容后,再用正则表达式去除HTML标签。.........原创 2022-06-04 20:23:28 · 547 阅读 · 0 评论 -
js中时间和时间戳的相互转换
Date() 返回当日的日期和时间。getDate() 从 Date 对象返回一个月中的某一天 (1 ~ 31)。getDay() 从 Date 对象返回一周中的某一天 (0 ~ 6)。getMonth() 从 Date 对象返回月份 (0 ~ 11)。getFullYear() 从 Date 对象以四位数字返回年份。getYear() 请使用 getFullYear() 方法代替。getHours() 返回 Date 对象的小时 (0 ~ 23)。getMinut原创 2022-06-02 15:26:06 · 57645 阅读 · 0 评论 -
JS字符串反转的2种方式
JS字符串反转的2种方式原创 2022-06-02 14:08:19 · 2217 阅读 · 4 评论 -
JS中绑定事件的5种方式——以按钮绑定点击事件为例
第一种和第二种的效果是一样,可以附加多个事件处理函数,并不是只有使用jquery才能做到。第三种方法不推荐使用,原则上HTML代码只能体现网页的结构,具体的行为应该使用javascript代码进行绑定。除非页面上绑定事件的元素超过上万个,否则响应速度的时候就不必纠结了,只做个事件绑定还是很快的。我测试了一下,使用addEventListener绑定3000次,耗时3-4毫秒。如果项目中统一使用jQuery的话,建议使用第一种做法,顺便还解决了IE的不兼容问题。......原创 2022-06-02 13:54:15 · 15628 阅读 · 3 评论 -
js中window.onload和jq中read函数区别
1.执行时间window.onload必须等到页面内包括图片的所有元素加载完毕后才能执行。$(document).ready()是DOM结构绘制完毕后就执行,不必等到加载完毕。2.编写个数window.onload不能同时编写多个,如果有多个window.onload方法,只会执行一个。$(documrnt).ready()可以同时编写多个,并且都可以得到执行。3.多个的执行结果window.onload不能同时写多个,但是有多个时会执行,只是后执行的会将前一次执行的结果覆盖。原创 2022-06-01 15:03:24 · 369 阅读 · 0 评论 -
vue中路由守卫总结
一、 什么是路由守卫?在页面跳转时,提供拦截处理的功能。通常用于权限校验和登录判断等。1. 根据作用范围的大小,分为全局守卫、路由独享的守卫和组件内的守卫2. 根据作用顺序的前后,分为前置守卫、解析守卫、后置守卫等3. 全局守卫:每次页面跳转都会触发,无论哪个页面都会触发.代码写在`路由的index.js`或者`main.js`中。原创 2022-06-01 14:41:14 · 393 阅读 · 0 评论 -
前端常见安全问题及解决方法
目录一、XSS (Cross-Site Scripting)跨站脚本攻击二、CSRF (Cross-site request forgery) 跨站请求伪造三、iframe风险四、点击劫持五、第三方依赖包带来的问题六、https 存在的风险七、CDN劫持八、本地存储数据泄露防御措施总结一、XSS (Cross-Site Scripting)跨站脚本攻击定义:XSS(Cross Site Scripting,跨站脚本),即攻击者往 Web 页面里嵌入恶意的客户端原创 2022-05-31 16:00:18 · 3077 阅读 · 1 评论 -
vue中的修饰符
目录一、事件修饰符二、 v-model的修饰符三、键盘事件的修饰符四、element的修饰符 (面试回答加分)一、事件修饰符.stop 阻止事件继续传播.prevent 阻止标签默认行为.capture 使用事件捕获模式,即元素自身触发的事件先在此处处理,然后才交由内部元素进行处理.self 只当在 event.target 是当前元素自身时触发处理函数.once 事件将只会触发一次.passive 告诉浏览器你不想阻止事件的默认行为<!-- 阻止单击事原创 2022-05-30 14:42:44 · 303 阅读 · 0 评论 -
JS中检测数据类型的7种方法
目录一.JS中的数据类型:二、检测数据类型的方法:1、typeof 检测一些基本的数据类型2、A instanceof B检测当前实例是否隶属于某各类3、constructor构造函数4、hasOwnporperty检测当前属性是否为对象的私有属性5、is Array判断是否为数组6、valueOf7、Object.portotype.toString(最好的)一.JS中的数据类型:1) 简单类型:String、Number、Boolean...原创 2022-05-30 14:17:15 · 23990 阅读 · 1 评论 -
8种this指向问题汇总
目录1.作为对象方法被调用2. 作为普通函数被调用时3.作为构造函数被调用时4.箭头函数里面的this5.call&& apply&&bindcall或apply调用总结补充this的指向在函数定义的时候是确定不了的,只有函数执行的时候才能确定this到底指向谁,实际上this的最终指向的是那个最后调用它的对象1.作为对象方法被调用当函数作为对象方法被调用时this指向该对象 var obj = {原创 2022-05-29 11:39:04 · 359 阅读 · 0 评论 -
微信小程序的生命周期总结
什么是生命周期?生命周期就是指一个对象的生老病死。 从软件的角度来看,生命周期指程序从创建、到开始、暂停、唤起、停止、卸载的过程。下面从三个方面来介绍小程序的生命周期:(1)应用生命周期(2)页面生命周期(3)应用及页面生命周期的触发顺序一、应用生命周期App() 函数用来注册一个小程序。接受一个 object 参数,其指定小程序的生命周期函数等。必须在 app.js 中调用,必须调用且只能调用一次,app.js中定义了一些应用的生命周期函数。onLaun...原创 2022-05-29 10:56:51 · 7272 阅读 · 0 评论 -
vue框架和react框架的区别以及各自的应用场景
一、框架简介React主张是函数式编程的理念, 实现了前端界面的高性能高效率开发,react很擅长处理组件化的页面。React的官方网站提到了“学习一次,随处写作”这个关键功能,可以使用React框架在JavaScript中构建移动应用程序。在 React 中,所有的组件的渲染功能都依靠 JSX,它是JavaScript的语法扩展,它在创建UI组件和调试时非常简单有用。Vue是渐进式JavaScript框架。“渐进式框架”和“自底向上增量开发的设计”是Vue开发的两个...原创 2022-05-26 22:36:23 · 2275 阅读 · 0 评论