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

浙公网安备 33010602011771号