文章分类 -  前端面试

20230620
摘要:当 Vue.js 用 v-for 正在更新已渲染过的元素列表时,它默认用“就地复用”策略。如果数据项的顺序被改变,Vue 将不会移动 DOM 元素来匹配数据项的顺序, 而是简单复用此处每个元素,并且确保它在特定索引下显示已被渲染过的每个元素,key 的作用主要是为了高效的更新虚拟 DOM 阅读全文
posted @ 2023-06-28 10:40 jialiangzai 阅读(60) 评论(0) 推荐(0) 编辑
摘要:不能同名,因为不管是 computed 属性名还是 data 数据名还是 props 数据名都会被挂载在vm实例上,因此这三个都不能同名 if (key in vm.$data) { warn(`The computed property "${key}" is already defined in 阅读全文
posted @ 2023-06-28 10:36 jialiangzai 阅读(144) 评论(0) 推荐(0) 编辑
摘要:1、errorCaptured 是组件内部钩子,当捕获一个来自子孙组件的错误时被调用,接收error、vm、info 三个参数,return false 后可以阻止错误继续向上抛出 2、errorHandler 为全局钩子,使用 Vue.config.errorHandler 配置,接收参数与err 阅读全文
posted @ 2023-06-28 10:22 jialiangzai 阅读(91) 评论(0) 推荐(0) 编辑
摘要:有两种方法可以监听路由参数的变化,但是只能用在包含的组件内。第一种 watch: { '$route'(to, from) { // 在此处监听 }, },第二种 beforeRouteUpdate (to, from, next) { //这里监听 } 阅读全文
posted @ 2023-06-28 10:07 jialiangzai 阅读(111) 评论(0) 推荐(0) 编辑
摘要:1、项目使用 keep-alive 时,可搭配组件 name 进行缓存过滤 2、DOM 做递归组件时需要调用自身 name 3、vue-devtools 调试工具里显示的组见名称是由 vue 中组件 name 决定的 阅读全文
posted @ 2023-06-28 10:05 jialiangzai 阅读(75) 评论(0) 推荐(0) 编辑
摘要:Vue.js 是采用数据劫持结合发布者-订阅者模式的方式,通过 Object.defineProperty()来劫持各个属性的 setter,getter,在数据变动时发布消息给订阅者,触发相应的监听回调。1、需要 observe 的数据对象进行递归遍历,包括子属性对象的属性,都加上setter 和 阅读全文
posted @ 2023-06-28 09:59 jialiangzai 阅读(88) 评论(0) 推荐(0) 编辑
摘要:从浏览器地址栏的请求链接开始,浏览器通过 DNS 解析查到域名映射的IP 地址,成功之后浏览器端向此 IP 地址取得连接,成功连接之后,浏览器端将请求信息通过HTTP 协议向此 IP 地址所在服务器发起请求,服务器接收到请求之后等待处理,最后向浏览器端发回响应,此时在 HTTP 协议下,浏览器从服务 阅读全文
posted @ 2023-06-27 01:07 jialiangzai 阅读(97) 评论(0) 推荐(0) 编辑
摘要:1、浏览器查找域名对应的 IP 地址(DNS 查询:浏览器缓存->系统缓存->路由器缓存->ISP DNS 缓存->根域名服务器) 2、浏览器向 Web 服务器发送一个 HTTP 请求(TCP 三次握手) 3、服务器 301 重定向(从 HTTP://example.com 重定向到 HTTP:// 阅读全文
posted @ 2023-06-27 00:46 jialiangzai 阅读(61) 评论(0) 推荐(0) 编辑
摘要:1、HTTPS 协议需要到 CA (Certificate Authority,证书颁发机构)申请证书,一般免费证书较少,因而需要一定费用。(以前网易官网是 HTTP,而网易邮箱是HTTPS 。) 2、HTTP 是超文本传输协议,信息是明文传输,HTTPS 则是具有安全性的SSL 加密传输协议 3、 阅读全文
posted @ 2023-06-27 00:40 jialiangzai 阅读(64) 评论(0) 推荐(0) 编辑
摘要:5 种常见的 HTTP 状态码以及代表的意义 200( OK):请求已成功,请求所希望的响应头或数据体将随此响应返回。303( See Other):告知客户端使用另一个 URL 来获取资源。 400( Bad Request):请求格式错误。1)语义有误,当前请求无法被服务器理解。除非进行修改,否 阅读全文
posted @ 2023-06-26 16:24 jialiangzai 阅读(73) 评论(0) 推荐(0) 编辑
摘要:优化部分 ES6 新增了字符串模板,在拼接大段字符串时,用反斜杠(`)`取代以往的字符串相加的形式,能保留所有空格和换行,使得字符串拼接看起来更加直观,更加优雅。升级部分 ES6 在 String 原型上新增了 includes()方法,用于取代传统的只能用 indexOf()查找包含字符的方法(i 阅读全文
posted @ 2023-06-26 15:15 jialiangzai 阅读(15) 评论(0) 推荐(0) 编辑
摘要:module、export、import 是 ES6 用来统一前端模块化方案的设计思路和实现方案。export、import 的出现统一了前端模块化的实现方案,整合规范了浏览器/服务端的模块化方法,用来取代传统的 AMD/CMD、requireJS、seaJS、commondJS 等等一系列前端模块 阅读全文
posted @ 2023-06-26 15:01 jialiangzai 阅读(101) 评论(0) 推荐(0) 编辑
摘要:1、原因:每一个图例在没有数据的时候它会创建一个定时器去渲染气泡,页面切换后,echarts 图例是销毁了,但是这个 echarts 的实例还在内存当中,同时它的气泡渲染定时器还在运行。这就导致 echarts 占用 CPU 高,导致浏览器卡顿,当数据量比较大时甚至浏览器崩溃2、解决方法:在 mou 阅读全文
posted @ 2023-06-26 10:36 jialiangzai 阅读(358) 评论(0) 推荐(0) 编辑
摘要:jQuery 的 ajax 返回的是 deferred 对象,通过 promise 的 resolve()方法将其转换为promise 对象。var jsPromise = Promise.resolve($.ajax('/whatever.json')); 阅读全文
posted @ 2023-06-26 10:03 jialiangzai 阅读(108) 评论(0) 推荐(0) 编辑
摘要:var str = 'asdfssaaasasasasaa'; var json = {}; for (var i = 0; i iMax){ iMax = json[i]; iIndex = i; } } alert('出现次数最多的是:'+iIndex+'出现'+iMax+'次'); 阅读全文
posted @ 2023-06-25 17:35 jialiangzai 阅读(52) 评论(0) 推荐(0) 编辑
摘要:1、推荐在循环对象属性的时候使用 for...in,在遍历数组的时候的时候使用for...of 2、for...in 循环出的是 key,for...of 循环出的是 value 3、注意,for...of 是 ES6 新引入的特性。修复了 ES5 引入的 for...in 的不足4、for...o 阅读全文
posted @ 2023-06-25 09:08 jialiangzai 阅读(74) 评论(0) 推荐(0) 编辑
摘要:this 的情况: 1、以函数形式调用时,this 永远都是 window 2、以方法的形式调用时,this 是调用方法的对象 3、以构造函数的形式调用时,this 是新创建的那个对象 4、使用 call 和 apply 调用时,this 是指定的那个对象 5、箭头函数:箭头函数的 this 看外层 阅读全文
posted @ 2023-06-25 01:23 jialiangzai 阅读(50) 评论(0) 推荐(0) 编辑
摘要:继承有以下六种方法 1、原型链继承 JavaScript 实现继承的基本思想:通过原型将一个引用类型继承另一个引用类型的属性和方法 2、借用构造函数继承(伪造对象或经典继承) JavaScript 实现继承的基本思想:在子类构造函数内部调用超类型构造函数。通过使用 apply()和 call()方法 阅读全文
posted @ 2023-06-25 01:16 jialiangzai 阅读(52) 评论(0) 推荐(0) 编辑
摘要:JavaScript 是一种通过原型实现继承的语言与别的高级语言是有区别的,像java,C#是通过类型决定继承关系的,JavaScript 是的动态的弱类型语言,总之可以认为JavaScript 中所有都是对象,在 JavaScript 中,原型也是一个对象,通过原型可以实现对象的属性继承,Java 阅读全文
posted @ 2023-06-25 01:10 jialiangzai 阅读(56) 评论(0) 推荐(0) 编辑
摘要:内存泄漏指任何对象在您不再拥有或需要它之后仍然存在 哪些操作会造成内存泄漏 1、垃圾回收器定期扫描对象,并计算引用了每个对象的其他对象的数量。如果一个对象的引用数量为 0(没有其他对象引用过该对象),或对该对象的惟一引用是循环的,那么该对象的内存即可回收 2、setTimeout 的第一个参数使用字 阅读全文
posted @ 2023-06-25 01:01 jialiangzai 阅读(9) 评论(0) 推荐(0) 编辑

喜欢请打赏

扫描二维码打赏

微信打赏

点击右上角即可分享
微信分享提示