随笔分类 -  2022目标

摘要:3-14 说明一下JS封装的原理封装 封装是面向对象的三个基本特征之一,将现实世界的事物抽象成计算机领域中的对象, 对象同时具有属性和行为(方法),这种抽象就是封装. 重要特性 数据隐藏。对象只对外提供与其它对象交互的必要接口,而将自身的某些属性和实现细节对外隐藏, 通过这种方式,对象对内部数据提供了不同级别的保护, 以防止程序中 阅读全文
posted @ 2022-03-14 19:21 林见夕 阅读(112) 评论(0) 推荐(0)
摘要:3-14 在哪个生命周期内调用异步请求?(Vue部分)如果 使用的是 spa 的渲染模式:你可以使用 create 发送请求,这是在请求数据量不大的情况下,使用,如果不能保证这个数据,不会出现问题,建议在 mounted 中发送 如果 使用的是 ssr 的渲染模式;beforeCreate 和 created 会在服务端渲染的时候被调用,在 befor 阅读全文
posted @ 2022-03-14 15:34 林见夕 阅读(280) 评论(0) 推荐(0)
摘要:3-13 Vue 组件间通信有哪几种方式?vue2: props $emit vuex $attrs 和 $listeners provide 和 inject parent 和 children $refs $root .sync slot 全局事件总线 vue3: props $emit vuex pinia provide 和 inj 阅读全文
posted @ 2022-03-13 22:33 林见夕 阅读(73) 评论(0) 推荐(0)
摘要:3-13 直接给一个数组项赋值,Vue 能检测到变化吗?由于 JavaScript 的限制,Vue2 不能检测到以下数组的变动: 当你利用索引直接设置一个数组项时,例如: vm.items[indexOfItem] = newValue 当你修改数组的长度时,例如: vm.items.length = newLength 为了解决第一个问题,Vue 提供 阅读全文
posted @ 2022-03-13 22:25 林见夕 阅读(213) 评论(0) 推荐(0)
摘要:3-12 CDN缓存一、CDN 是什么? http 缓存是浏览器端缓存,cdn 是服务器端缓存。 举个例子来说明 cdn 的作用:cdn 就是代理。厂家给商家发货,你从商家买货,商家就是 cdn,很方便。 二、CDN 怎么缓存? 和 Http 类似,客户端请求数据时,先从本地缓存查找,如果被请求数据没有过期,拿过来用, 阅读全文
posted @ 2022-03-12 18:50 林见夕 阅读(100) 评论(0) 推荐(0)
摘要:3-12 什么是面向切面编程(AOP)?主要就是两个函数,在Function的原型上加上before与after,作用就是字面的意思,在函数的前面或后面执行,相当于无侵入把一个函数插入到另一个函数的前面或后面,应用得当可以很好的实现代码的解耦,js中的代码实现如下: // function dome() { // var a = 12 + 阅读全文
posted @ 2022-03-12 17:52 林见夕 阅读(82) 评论(0) 推荐(0)
摘要:3-12 使用TS的优势有哪些?更可靠:TS引入类型定义(进行类型检查)和编译器,可以避免JavaScript大多数runtime错误,更可靠,易维护; 更清晰:TS中显式类型声明可以提升代码可读性,代码校验可以全部交给编译器负责; 更广泛:TypeScript是JavaScript的超集,可以在TypeScript代码中混合使用 阅读全文
posted @ 2022-03-12 16:52 林见夕 阅读(1715) 评论(0) 推荐(0)
摘要:3-12 webpack 里面的插件是如何实现的?webpack 插件 是一个 函数,这个函数的原型上必须携带一个 apply 的方法,供给 webpack 使用,webpack 会调用 apply 并传入一个 compiler 关注核心:Compiler和Compilation 在开发Plugin时最常用的两个对象是Compiler和Compil 阅读全文
posted @ 2022-03-12 16:27 林见夕 阅读(305) 评论(0) 推荐(0)
摘要:3-11 说一下mysql和mongodb的区别?1、数据库模型 mongodb-非关系型; mysql-关系型 2、存储方式 mongodb-以类JSON的文档的格式存储; mysql-不同引擎有不同的存储方式; 3、查询语句 mongodb-MongoDB查询方式(类似JavaScript的函数); mysql-SQL语句; 4、数据处理方式 阅读全文
posted @ 2022-03-11 20:52 林见夕 阅读(595) 评论(0) 推荐(0)
摘要:3-11 为什么组件中的 data 必须是一个函数,然后 return 一个对象,而 new Vue 实例里,data 可以直接是一个对象?为什么根实例的data是一个对象? new Vue()中只有一个data属性,共用该data。 为什么组件中的data必须是一个函数? 因为如果data是一个对象,对象是引用类型,那复用的所有组件实例都会共享这些数据,就会导致修改一个组件实例上的数据,其他复用该组件的实例上对应的数据也会被修改。 如 阅读全文
posted @ 2022-03-11 20:44 林见夕 阅读(359) 评论(0) 推荐(0)
摘要:3-11 如何判断一个对象是不是数组从原型入手,Array.prototype.isPrototypeOf(obj); 也可以从构造函数入手,obj instanceof Array Object.prototype.toString.call(obj); Array.isArray()方法 阅读全文
posted @ 2022-03-11 11:39 林见夕 阅读(38) 评论(0) 推荐(0)
摘要:3-10 关于对 Vue 项目进行优化,你有哪些方法?1)代码层面的优化 v-if 和 v-show 区分使用场景 computed 和 watch 区分使用场景 v-for 遍历必须为 item 添加 key,且避免同时使用 v-if 长列表性能优化 事件的销毁 图片资源懒加载 路由懒加载 第三方插件的按需引入 优化无限列表性能 服务端渲染 SSR 阅读全文
posted @ 2022-03-10 21:40 林见夕 阅读(117) 评论(0) 推荐(0)
摘要:3-10 说说你理解的node 中间层怎样做的请求合并转发?1)什么是中间层 就是前端—请求—> nodejs 请求 >后端 响应—>nodejs–数据处理—响应 >前端。这么一个流程,这个流程的好处就是当业务逻辑过多,或者业务需求在不断变更的时候,前端不需要过多当去改变业务逻辑,与后端低耦合。前端即显示,渲染。后端获取和存储数据。中间层处理数据结构,返回给 阅读全文
posted @ 2022-03-10 21:31 林见夕 阅读(659) 评论(0) 推荐(0)
摘要:3-9 esm和commonjs的区别https://blog.csdn.net/weixin_33816300/article/details/91466271 1. 输出拷贝 vs 输出引用 // a.js let a = 1; let b = { num: 1 } setTimeout(() => { a = 2; b = { n 阅读全文
posted @ 2022-03-09 23:03 林见夕 阅读(276) 评论(0) 推荐(0)
摘要:3-9 promise有没有解决异步的问题?https://blog.csdn.net/MFWSCQ/article/details/108703828 Promise 对象是 JavaScript 的异步操作解决方案,为异步操作提供统一的接口。它起到代理作用(proxy),充当异步操作与回调函数之间的中介,使得异步操作具备同步操作的接口。P 阅读全文
posted @ 2022-03-09 22:11 林见夕 阅读(40) 评论(0) 推荐(0)
摘要:3-9 点击一个按钮,浏览器会做些什么事情1.点击按钮后创建一个Event实例 2.然后把事件放到事件队列中,让它等候处理 3.Event循坏线程处理这个事件 4.沿着DOM路径找到触发事件的元素 5.如果这个元素上有处理这个事件的默认行为,并且要在DOM事件阶段周期之前执行,就执行它的默认行为 6.捕获阶段 7.目标阶段 8.冒泡阶段 9 阅读全文
posted @ 2022-03-09 22:04 林见夕 阅读(104) 评论(0) 推荐(0)
摘要:3-9 请说出下面输出什么?function fn(a, c) { console.log(a) var a = 123; console.log(a) console.log(c) function a() {} if(false) { var d = 678; } console.log(d) console.log(b) 阅读全文
posted @ 2022-03-09 21:57 林见夕 阅读(20) 评论(0) 推荐(0)
摘要:3-9 vue在created和mounted这两个生命周期中请求数据有什么区别呢?created阶段的ajax请求与mounted请求的区别:前者页面视图未出现,如果请求信息过多,页面会长时间处于白屏状态 created 里面请求即可,请求响应时间长,应该由你的业务代码去处理这种异常, Vue 的框架层面不知道你的异步请求究竟什么时候结束, 不可能等待你的请求回来再继续渲染。 还 阅读全文
posted @ 2022-03-09 12:14 林见夕 阅读(1715) 评论(0) 推荐(0)
摘要:3-8 怎么处理项目中的异常捕获行为?一、代码执行的错误捕获 1.try…………catch • 能捕获到代码执行的错误 • 捕获不到语法的错误 • 无法处理异步中的错误 • 使用try……catch包裹,影响代码可读性 2.window.onerror • 无论是异步还是非异步错误,onerror都能捕获到运行时错误 • onerrer 阅读全文
posted @ 2022-03-08 22:40 林见夕 阅读(98) 评论(0) 推荐(0)
摘要:3-8 添加原生事件不移除为什么会内存泄漏,还有哪些地方会存在内存泄漏?转发链接: https://juejin.cn/post/6844903892547797006#comment 阅读全文
posted @ 2022-03-08 22:20 林见夕 阅读(95) 评论(0) 推荐(0)