随笔分类 - 前端
摘要:在相应的组件 A 中插入的内容会替换掉 A 中的 slot 元素 1. 具名插槽 通过在 slot 元素上添加 name="xxx" 字段, 即可将相应的 slot 插槽命名为 xxx 当该组件被父组件调用时, 父组件可以通过 <template v-slot:xxx>...</template>
阅读全文
摘要:1. 深拷贝 1.1 递归深拷贝 1.1.1 从复制地址到复制引用类型 深拷贝与浅拷贝的区别就是: 当遇见引用类型 A 时 浅拷贝只会拷贝 A 的地址 深拷贝会在堆内存中将 A 复制一遍为 B, 并返回 B 的地址 故而: 深拷贝的第一步就是复制引用类型, 此时需要保证不可枚举属性和 Symbol
阅读全文
摘要:1. 为什么会有 Promise 当我们多次进行有依赖的网络请求或者文件请求时, 很可能会造成代码的层层嵌套, 导致回调地狱的出现: $.ajax({ url: "xxx", success: function(result) { $.ajax({ url: result, success: fun
阅读全文
摘要:0. 硬盘缓存(disk cache)和内存缓存(memory cache) 当首次请求某一资源, 且该资源被设置需要缓存时, 该资源会被缓存在内存或硬盘中(也有可能两个地方都设有缓存). 当再次请求该资源时, 浏览器就可以不需要向服务器发送请求, 而直接从缓存中获取. 0.1 获取缓存的优先级 先
阅读全文
摘要:1. 什么是跨域 不同源之间的数据访问称之为跨域 当跨域访问数据时, 如果没有特地做过处理, 则无法获取不同源的数据(通过标签引用 js, img, css 是可以的, 因为虽然我们通过标签获取到了这些资源, 但是我们仍然不知道对应文件中的内容是什么) 1.1 什么是源 所谓的源是指 协议+域名+端
阅读全文
摘要:1. this 的指向问题 关于函数的 this 的指向并不是一个很复杂的问题 我们首先要明确一个定义: fn = function () {...} 指的是 fn 这个属性存储着一个函数的地址 fn_addr, 而我们通过 fn_addr() 来执行相应地址的函数 接下来我们仍将 fn 称为 fn
阅读全文
摘要:1. 原型与原型链 1.1 什么是原型 对于任意一个引用类型, 都存在一个属性 [[Prototype]], 这就是我们所说的原型 而对于一个 function, 在存在一个 [[Prototype]] 的基础上, 其还会存在一个 prototype 属性, 这个属性是做什么的呢? function
阅读全文

浙公网安备 33010602011771号