js
开坑commander
1. 全局安装 commander (yarn|pnpm | npm) node 执行即可运行 commander 脚本
commander 内置 program 支持链式调用,添加 option、description、parse 写入。
Copy
const…
script标签中defer和aysnc的区别
async 一个用于<script>标签的布尔属性,用于指示浏览器是否应该异步加载脚本。当设置为 async 时,脚本将在下载时异步执行,不会阻止页面的解析和渲染。这使得脚本可以在后台下载,而不会影响页面的性能。
当设置为 async 时,脚本不会按照它们在页面中出现的顺序执行…
除了递归有什么其他方式实现深拷贝
除了递归,还可以使用迭代来实现深拷贝。具体来说,可以使用栈来保存需要处理的对象,然后在循环中不断出栈并进行拷贝操作,直到栈为空为止。 以下是一个使用迭代实现深拷贝的示例代码:、
Copy
function deepClone(obj) {
let stack = [obj];…
彻底玩6正则(2)
转义 假设要验证一个带小数点的数值,写法如下:
Copy
let str=12.24
// .代表除换行以外对任意字符,包括,因此要转义
// /.
/\d+\.\d+/.test(str) //true
// /d+匹配一个或多个数值
用对象创建
Copy…
彻底玩6正则(1)
字面量、对象
深浅拷贝各种实现及原理
一、数据类型存储 前面文章我们讲到,JavaScript中存在两大数据类型:
基本类型
引用类型
基本类型数据保存在在栈内存中
引用类型数据保存在堆内存中,引用数据类型的变量是一个指向堆内存中实际对象的引用,存在栈中
二、浅拷贝
浅拷贝,指的是创建新的数据…
事件委托
一、是什么 事件代理,俗地来讲,就是把一个元素响应事件(click、keydown......)的函数委托到另一个元素
前面讲到,事件流的都会经过三个阶段: 捕获阶段 -> 目标阶段 -> 冒泡阶段,而事件委托就是在冒泡阶段完成
事件委托…
深拷贝的各种实现
直接上代码: Copy
/**
* JSON.parse(JSON.stringify(object))的问题在于
* 1、忽略undefined
* 2、忽略 Symbol
* 3、不能序列化函数
* 4、不能解决循环引用的对象
* DeepClone1 ->…
实现instance of
实现instanceof