摘要: Vue.js是采用数据劫持结合发布者-订阅者模式的方式,通过Object.defineProperty()来劫持各个属性的setter,getter,在数据变动时发布消息给订阅者,触发相应的监听回调。主要分为以下几个步骤: 1,需要observe的数据对象进行递归遍历,包括子属性对象的属性,都加上s 阅读全文
posted @ 2022-06-20 19:18 bug制造者~~ 阅读(49) 评论(0) 推荐(0) 编辑
摘要: 加载时优化 - 较少HTTP请求 一个完整的HTTP请求需要经历 |- DNS查找, |- TCP握手, |- 浏览器发出HTTP请求, |- 服务器接收请求, |- 服务器处理请求并发回响应, |- 浏览器接收响应等等一系列复杂的过程。当你请求较多时,直接体现在了消耗性能上面,这就是为什么要将多个 阅读全文
posted @ 2022-06-18 14:56 bug制造者~~ 阅读(1106) 评论(0) 推荐(1) 编辑
摘要: 一、防抖 1、什么是函数的防抖 概念:函数防抖(debounce),就是指触发事件后,在 n 秒内函数只能执行一次,如果触发事件后在 n 秒内又触发了事件,则会重新计算函数延执行时间。 2、为什么需要防抖 前端开发过程中,有一些事件,常见的例如,onresize,scroll,mousemove , 阅读全文
posted @ 2022-06-18 14:41 bug制造者~~ 阅读(49) 评论(0) 推荐(0) 编辑
摘要: 基本数据类型:number、string、boolean、Undefined、NaN(特殊值)、BigInt、Symbol 引入数据类型:Object NaN是JS中的特殊值,表示非数字,NaN不是数字,但是他的数据类型是数字,它不等于任何值,包括自身,在布尔运算时被当做false,NaN与任何数运 阅读全文
posted @ 2022-06-18 14:31 bug制造者~~ 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 先说说防盗链的原理,http 协议中,如果从一个网页跳到另一个网页,http 头字段里面会带个 Referer。这里的Referer是由于历史原因导致了拼写错误 后来也就一直沿用。图片服务器通过检测 Referer 是否来自规定域名,来进行防盗链。如果盗用网站是 https 的 protocol,而 阅读全文
posted @ 2022-06-18 14:07 bug制造者~~ 阅读(497) 评论(0) 推荐(1) 编辑
摘要: vue基本原理 当一个Vue实例创建时,Vue会遍历data中的属性,用Object.defineProperty(vue3.0使用proxy)将它们转为getter/setter,并且在内部追踪相关依赖,在属性被访问和修改时通知变化。每个组件实例都有相应watcher程序实例,它会在组件渲染的过程中把属性记录为依 阅读全文
posted @ 2022-06-18 13:46 bug制造者~~ 阅读(125) 评论(0) 推荐(0) 编辑