随笔分类 - JavaScript
摘要:open(url, target, features) open(url?: string | URL, target?: string, features?: string): WindowProxy | null; url 新url地址 或者 临时生成bolbUrl 预览 target 可选 _
阅读全文
摘要:MutationObserver应用于水印制作时,之所以能够有效防止用户篡改数据,主要归因于其对DOM(文档对象模型)元素变化的强大监视能力。以下是对此现象的详细解释: 一、MutationObserver的工作原理 MutationObserver是一个监视DOM变动的接口,它能够监听DOM树的变
阅读全文
摘要:标签页跨页通信 需求:浏览器不同 tab 标签页之间是独立的, 如果要通信必须通过特殊手段来实现跨标签页通信。 1.BroadcastChannel(webworker 可用) BroadcastChannel 接口代理了一个命名频道,可以让指定 origin 下的任意 browsing conte
阅读全文
摘要:## switch-case 和 if-else 在分支处理上的不同 switch case 不同分支里申明同一个变量会报错,因为swicth case 不同的分支仍处于同一个作用域scope。但是if else 却没有注意的问题。 ```js // Cannot redeclare block-s
阅读全文
摘要:promise 引用类型Promise,翻译期约(承诺),是一种异步编程结局方案。当我们许下承诺,代表着未来的不确定性(pending),当我们实现时,承诺变为成功(fulfilled)。当我们未能实现时,承诺变为失败(rejected)。 通过new实例化,创建时传入executor函数参数,此时
阅读全文
摘要:今天在修改公司ui组件库的时候,接触到npm run lib ,发现打包后文件有几种格式的文件。 .common.js .common.js.map .umd.js .umd.js.map .umd.min.js .umd.min.js.map 几种不同的模块化方案 CommonJS是一种被广泛使用
阅读全文
摘要:任务队列与事件循环 JS是单线程,为了防止线程的阻塞,在代码执行时分为同步任务和异步任务。所有同步任务在主线程上执行,推入栈中执行,当执行栈为空时就回去去事件队列中执行异步任务,而异步任务形成一个新的任务队列,任务队列中的异步任务分为宏任务和微任务,任务队列中微任务的优先级大于宏任务。 什么是任务队
阅读全文
摘要:查询类方法indexOf和includes异同点 相同处 可以判断数组或字符串是否包含某个元素。 第一个参数为要查找的元素,第二个参数为查询开始的位置。 字符串执行匹配时,第一个参数不是字符串时,会进行类型转换。 数组执行匹配时,第一个参数不会进行类型转换,会执行严格相等。 不同处 返回值不同,in
阅读全文
摘要:递归函数的全局变量使用技巧 我希望提取以下数组中每个path的值放入一个数组 let arr = [ { path: 'a', b: 2, children: [ { path: 'b', b: 3, children: [ { path: 'c' }, { path: 'd' }, ] } ] }
阅读全文
摘要:BigInt的定义 BigInt 是一种内置对象,它提供了一种方法来表示大于 2^53 - 1 的整数。这原本是 Javascript 中可以用 Number 表示的最大数字,也叫做最大安全整数。BigInt 可以表示任意大的整数。 安全整数的范围 超过这个范围,number类型的数字将会失去精度
阅读全文
摘要:闭包 闭包到底是什么? 闭包是一种引用关系,该引用关系存在于内部函数中,内部函数引用的是外部函数变量的关系。 闭包产生的条件 函数嵌套 内部函数引用了外部函数的变量 调用外部函数(执行) function closure(){ // 外部函数 var a = 10; // 外部函数变量 return
阅读全文
摘要:JavaScript数据基本类型 基础数据类型 数字(Number) 字符串 (String) 布尔值 (Boolean) 引用数据类型 对象 (Object) 数组 (Array) 函数 (Function) 特殊数据类型 空值 (Null) 未定义 (Undefined) ES6新增类型 Sym
阅读全文
摘要:if语句和逻辑与运算符&& if语句和&&逻辑与运算符将数据类型作为标识符,来实现开关的作用,在实际使用中非常实用。首先来了解一个falsy概念。 falsy "falsy"是一个JavaScript术语,用于描述在布尔上下文中被视为“false”的值。 在JavaScript中,以下值被视为“fa
阅读全文
摘要:标签点击方法中通过事件总线$bus.$emit了一个clickEvent事件,并传了this.activeName参数 目标组件里mounted钩子里监听on了事件,不想将回调写在mounted钩子里,所以定义一个回调getChartInfo。 注意:这里回调写法不能写成 this.getChart
阅读全文
摘要:一、判断数据的类型,了解一些常用的方法(结尾为总结判断数组和对象的推荐方法) 1.typeof运算符 typeof属于运算符不是函数,所以可以不用加括号 typeof() 只能区分基本类型,即 “Number”,”String”,”undefined”,”Boolean”,”Object”,“Fun
阅读全文
摘要:一般深浅拷贝只针对复杂数组和对象,即引用类型,理解什么是深浅拷贝,为什么要用深浅拷贝 比记住方法更重要。这样才能在工作中知道何时应该用深浅拷贝,方法百度到处是。 什么是赋值,什么是深拷贝,什么是浅拷贝 1.赋值: 强行赋值,将两个对象的指向同一块内存地址,两个对象将发生联动。(基本数据类型不在此考虑
阅读全文
摘要:今天项目中报错TypeError: Cannot read properties of undefined (reading 'filter'),开始报错没影响到运行就没管。后面页面中其他功能(清空购物车)购物车模块崩溃了。 直接翻到最下面看2022.3.4和2022.4.22总结。 2022.2.
阅读全文