随笔分类 - JavaScript
摘要:1. 在使用 npm run dedvelop 报 Error bind EACCES 0.0.0.0 1337 的问题 在 window10 中运行 npm run dedvelop 报 Error bind EACCES 0.0.0.0 1337,哪怕没占用端口也可能报此问题,可能是权限问题 解
阅读全文
摘要:问题 根据官网的安装步骤,Install Tailwind CSS with Vite 安装完成后,在 Webstorm 中 Tailwind 始终无法自动补全,查看 Webstorm 的日志,提示报错 Tailwind CSS: Tailwind CSS: require() of ES Modu
阅读全文
摘要:需要对一个弹窗组件进行改造,使其能用 JS 调用,并实现关闭弹窗组件时销毁组件 原始弹窗组件 Popup.vue <template> <van-overlay :show="visible" > <div class="overlay-wrapper"> <div class="container
阅读全文
摘要:省流版:看 解决3 环境 vue3 + vant + H5 需求 input 输入框为验证码(隐含需求:用户接收到验证码时,需要复制验证码后可以点击输入法的联想词直接输入验证码,且需要仅能输入英文及数字) 问题与解决 问题1 iOS 自带的输入法输入验证码的时候会重复输入两次,比如收到验证码是 qw
阅读全文
摘要:基于 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
阅读全文
摘要:装饰器 2021.07.07: 今天面试的时候一时间没想起来,现在回想一下,这相当时`扩展作用域`,可以修改接下来的函数 装饰器是可以修改其他函数功能的函数,写法 @ + 函数名 在 Python 随处可见。 早期 TypeScript 在 1.5 版本发布了对装饰器的支持,现在 ES6 也通过了装
阅读全文
摘要:原型链图 图很重要!图很重要!图很重要!强烈建议让图片置顶起来,结合图片阅读下去。 普通对象与函数对象 JS 中的对象分为 普通对象和 函数对象 类型 属性 例子 对应上面的图 普通对象 __proto__ 、new 实例 f1、f2、o1、o2、x.prototype 函数对象 __proto__
阅读全文
摘要:使用 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
阅读全文
摘要:使用 Object.defineProperty 实现 使用 Object.defineProperty 实现基本的 Vue 响应式 基本实现 set function updateView() { console.log("视图更新") } function defineReactive(targ
阅读全文
摘要:简介 postcss-px-to-viewport 将px单位转换为视口单位的 (vw, vh, vmin, vmax) 的 PostCSS 插件 GitHub 地址:https://github.com/evrone/postcss-px-to-viewport 中文文档:https://gith
阅读全文
摘要:作用域 如何在某些位置存储变量,以及如何在稍后找到这些变量 什么结构可以创建作用域气泡? 函数 块级作用域 with try/catch let const let/const let 关键字将变量声明附着在它所在的任何块儿(通常是一个 { .. })的作用域中。 换句话说,let 为它的变量声明隐
阅读全文
摘要:利用 Number.prototype.toLocaleString() 将数字转化为千分位+带货币单位+保留 2 位小数 (12345).toLocaleString('zh-CN', {style: 'currency', currency: 'CNY', minimumFractionDigi
阅读全文
摘要:函数的参数都是按值传递(浅拷贝) 变量有按值访问和按引用访问,传参只有按值传递 函数外的值会被复制到函数内部的参数中,同一个变量复制到另一个变量中 如果是原始值,那么跟原始值变量复制一样(即另一个值) 如果是引用值,那么跟引用值变量复制一样(即另一个引用,这个引用可以修改外部对象的属性,但重写这个引
阅读全文
摘要:递归函数通常的形式是一个函数通过名称调用自己 function factorial(num) { if (num <= 1) { return 1; } else { return num * factorial(num - 1); } } 如果把这个函数赋值给其他变量,就会出问题 let anot
阅读全文