![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
前端面试
小半Annie
前端学习之路
展开
-
登录流程与前端RSA非对称加密解密
原创 2022-02-28 09:47:22 · 5979 阅读 · 0 评论 -
Vue中父子组件的六种通信方式
Vue中父子组件的通信方式一、Props + $emitProps:父传子父组件Parent.vue:<Child :message="message" @changeMessage="message = $event" />$emit:子传父子组件Child.vue:this.$emit('changeMessage','Bye')在子组件里用$emit自定义一个事件并传参,父组件里监听事件二、回调函数(callBack)父传子:将父组件里定义的method作为prop原创 2022-01-10 00:31:27 · 2403 阅读 · 0 评论 -
如何解决跨域问题
如何解决跨域问题一、什么是跨域?跨域,全称是跨域资源共享(Cross-Origin Resources Sharing ,CORS),是浏览器的保护机制,只允许浏览器请求同一域名下的服务,同一域名的要求是协议、域名、 端口都要保持一致,只要有一项不同,都是跨域请求简单来说,在baidu网站不能请求taobao服务器的资源,一个域到另一个域发送请求,这就造成了跨域的资源共享的问题,这个问题就是cors二、解决方法:配置后端、配置前端、配置服务器1.配置后端浏览器是否开启跨域保护机制是根据后端的响应原创 2022-01-09 18:19:12 · 6018 阅读 · 0 评论 -
CSS中常用的属性
1.aspect-ratio 设置纵横比aspect-ratio:16/9aspect-ratio:auto(默认值)aspect-ratio:4 === aspect-ratio:4/1 “/1”可省略2.pointer-events 设置是否响应点击事件pointer-events:auto 默认pointer-events:none 不响应点击事件,由下层元素响应...原创 2022-01-09 03:49:04 · 317 阅读 · 0 评论 -
HTTP缓存
一、什么是HTTP缓存? 当浏览器访问某个网站,如果是第一次访问,需要加载这个网站的资源,html,css,js,img…服务需要返回这些资源。 利用缓存的策略,当第二次、第三次…访问这个网站的时候,以上的流程可不重复执行就可以获取到资源。以此提高网站的加载速度。二、为什么要HTTP缓存? 从输入网站地址,到加载出页面,包括三个主要过程,CPU计算、页面渲染、http请求,前两者速度很快,不确定因素较少,http请求受网络环境影响较大,快时快,慢时可达几百甚至一秒的时间,如果这时利用缓存的方式原创 2022-01-05 20:33:32 · 74 阅读 · 0 评论 -
说说你对作用域链的理解
作用域链的作用是保证执行环境下对变量和函数的访问是有序的;作用域链的变量只能向上访问,当变量访问到window对象时即被终止;(注意:Javascript没有块级作用域。可以通过(function(){})()立即执行的形式实现块级作用域;当然ES6可以通过{}搭配let const形成块级作用域);函数的作用域内的变量,如果在本作用域内没有找到定义,则会往一层一层上一级查找,知道找到全局作用域,如果都没有则返回undefiened,这种一层一层的类似锁链的关系,叫作用域链...原创 2022-01-06 21:08:33 · 587 阅读 · 0 评论 -
JavaScript var let const的区别
重复定义修改值声明提升块级作用域定义循环变量var可以可以会严格来说不支持(function里可以)可以let不可以可以不会支持(用let 和{}创建作用域)可以const不可以不可以(除数组和对象)不会支持不可以...原创 2022-01-06 20:06:13 · 267 阅读 · 0 评论 -
从输入URL到页面加载发生了什么?
从输入URL到页面加在发生了什么?1.DNS解析(网址->IP地址):DNS缓存(从DNS缓存里查找浏览器之前是否访问过这个网址,如果有直接返回IP地址,如果没有则查找操作系统),分级查找:本地DNS服务器,根域名服务器,COM顶级域名服务器,Google.com域名服务器2.建立TCP链接(三次握手)->为什么两次不可以?3.客户端发送HTTP请求4.服务端处理HTTP请求,并且返回HTTP报文5.浏览器解析和渲染页面6.连接结束(4次挥手)->为什么三次不可以一、HT原创 2022-01-08 14:18:26 · 303 阅读 · 0 评论 -
Cookie、LocalStorage与SessionStorage
Cookie、LocalStorage与SessionStorageCookieLocalStorageSessionStorage大小4Kb10Mb5Mb兼容H4/H5H5H5访问任何窗口任何窗口同一窗口有效期手动设置无到窗口关闭存储位置浏览器和服务器浏览器浏览器与请求一起发送是否否语法复杂简易简易...原创 2022-01-08 16:12:54 · 167 阅读 · 0 评论 -
JavaScript Event Loop
JavaScript是一门单线程的语言,他的多线程和异步是通过eventloop循环机制实现,大体有三个部分组成,调用栈(call stack)、消息队列(Message Queue)、微任务队列(Microtask Queue) EventLoop开始时会从全局栈一行一行执行,遇到函数调用,会把他压入调用栈中,被压入的函数叫做帧(Frame),当函数返回后会从调用栈中弹出Javascript中的异步操作,比如Fetch事件回调,setTimeout和setInterval中的回调函数,会入队到消原创 2022-01-09 03:17:25 · 310 阅读 · 0 评论 -
JavaScript深浅拷贝
一、概念区分:赋值:obj2 = obj1 ,实际上是将Obj2变量指向和obj1变量同一个在栈中的地址,赋值后两个对象指向的是同一个存储空间。浅拷贝:重新在堆中创建内存,拷贝前后对象的基本数据类型互不影响,但拷贝前后对象的引用类型因共享同一块内存,会相互影响。深拷贝:重新在堆中创建内存,对象中的子元素进行递归拷贝,拷贝前后的两个对象进行修改值时互不影响。二、浅拷贝实现方式:Object.assign()lodash 里的 _.clone{ …obj } 展开运算符Array.pro原创 2021-04-07 10:44:52 · 64 阅读 · 0 评论 -
JavaScript 预编译习题
JavaScript 预编译习题预编译的事件作用域的创建阶段,就是预编译的阶段AO对象我们都知道Js中有全局作用域和函数作用域,与之对应的叫’js的变量对象’,在函数作用域的创建阶段也叫AO对象, 这个对象供js引擎自己访问,我们无法访问预编译时做了什么1、创建ao对象------> 2、找形参和变量的声明 作为AO对象的属性名 值是undefined------> 3、实参和形参统一------> 4、找函数声明,如果函数名和之前变量名相同,将覆盖原有题目functi原创 2021-03-31 16:50:39 · 109 阅读 · 0 评论