摘要:
基于 toString 的通用类型判断,可判断原始类型跟引用类型 // 类型判断 function myTypeof(o){ const s = Object.prototype.toString.call(o); return s.match(/\[object (.*?)]/)[1].toLow 阅读全文
摘要:
解决 主要是安卓端的 webview 的问题,微信端也可以解决 在 main.js 中添加下面代码 // 修复输入框输入时被键盘覆盖的问题 window.addEventListener("resize", function() { if ( document.activeElement.tagNa 阅读全文
摘要:
Vite2 + Vue3 + TS 使用别名时跟 webpack 有所差异 这里记录下 Vite + Vue3 + TS 配置别名 主要是修改 vite.config.ts 和 tsconfig.json 修改 vite.config.ts export default defineConfig({ 阅读全文
摘要:
装饰器 2021.07.07: 今天面试的时候一时间没想起来,现在回想一下,这相当时`扩展作用域`,可以修改接下来的函数 装饰器是可以修改其他函数功能的函数,写法 @ + 函数名 在 Python 随处可见。 早期 TypeScript 在 1.5 版本发布了对装饰器的支持,现在 ES6 也通过了装 阅读全文
摘要:
原型链图 图很重要!图很重要!图很重要!强烈建议让图片置顶起来,结合图片阅读下去。 普通对象与函数对象 JS 中的对象分为 普通对象和 函数对象 类型 属性 例子 对应上面的图 普通对象 __proto__ 、new 实例 f1、f2、o1、o2、x.prototype 函数对象 __proto__ 阅读全文
摘要:
记录下这几天遇到的一些面试题 实现 3 栏垂直布局,并且指定顺序加载 元素 方向 高度 div1 底部 200px div2 中部 auto div3 顶部 100px 效果 思路 使用 【父相子绝】的方法,限定位置 代码 <div class="wrapper"> <div class="div1 阅读全文
摘要:
使用 TypeScript + Vite 编写原生 TODO 面向对象、类的继承、横向切割程序 程序进行分类 外层:浏览器的事件 -> 调用方法 -> 事件处理函数的绑定 操作数据:addTodo、removeTodo、toggleComplete 操作DOM:addItem、removeItem、 阅读全文
摘要:
多次 setState 合并成一次 setState setState 是异步操作,多次 setState 合并成一次 setState,减少 Diff 比对 同层比对 两个虚拟 DOM 进行比对时,从上往下进行比对,如果同一层比对存在差异时就不会继续进行比对 引入 key 值 引入 key 值提高 阅读全文
摘要:
看了《JavaScript高级程序设计》跟《你不知道的JavaScript》后结合这篇文章 leocoder:带你彻底弄懂Event Loop,基本上弄懂了 Event Loop,这里做个简单笔记,方便后续翻阅 宏队列 macrotask,也叫 tasks。 一些异步任务的回调会依次进入 macro 阅读全文
摘要:
Chrome 浏览器是多进程浏览器。 Chrome架构:仅仅打开了1个页面,为什么有4个进程 打开1个页面至少需要1个网络进程、1个浏览器进程、1个GPU进程以及1个渲染进程,共4个;如果打开的页面有运行插件的话,还需要再加上1个插件进程。 进程:程序运行的实例 线程:由进程启动和管理 进程 启动一 阅读全文