![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
js 基础
文章平均质量分 72
原生 js 基础内容,必知必会
赛里木湖畔
这个作者很懒,什么都没留下…
展开
-
js原型和原型链继承
通俗来说,就是子类能够继承父类构造函数及原型对象上的属性和方法。那么怎么实现继承呢?:在组合式继承的基础上,使用Object.create创建空对象,并实现继承。:因为实例对象上有构造函数和他的原型对象上的所有属性和方法,被所有实例共享。父类为 Person,子类为Student,以下几种实现方法同上。父类为 Person,子类为Student。:在子类构造函数中直接调用父类构造函数。问题:父类构造函数被执行了两次。:将以上两种方法组合起来使用。原创 2024-07-20 12:01:43 · 280 阅读 · 0 评论 -
Event Loop 事件循环机制 & Promise async/await 执行顺序问题
await 之前的代码可以看做是同步的,await 右侧紧跟着的,也可以看作是同步的。await 下面的,被阻塞,整体看作是 Promise.then() 微任务。减少了 await 任务的循环次数,从而提高效能,通过直接调用 PromiseResolve() 代替之前的又一层 Promise封装。其中:defineProperty 和 Proxy 可被监听的数据拦截,本质上都是通过回调处理的,不是立刻执行的。js执行任务分为宏任务和微任务,宏任务放在任务队列,微任务放在微任务队列,先进先出(FIFO)。原创 2024-07-27 18:09:37 · 967 阅读 · 0 评论 -
JS数组去重的方法Array
数组去重的方法方法一:对象的属性不能重复function unique1(arr) { var newArr = [] var obj = {} for (var key of arr) { //for of的key获取属性值 if (obj[key] === undefined) { //如果对象没有该属性值 newArr.push(key); //就将新数组末尾添加改属性值 obj[key] = 1; //并将对象中强行添加该属性 } }原创 2020-09-21 19:42:24 · 459 阅读 · 0 评论 -
JavaScript中数组的方法总结(map,forEach,reduce,some,every,filter,indexOf...)
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title></head><body> <script>原创 2020-09-17 17:33:04 · 257 阅读 · 0 评论 -
JS实现深拷贝(深克隆)和浅拷贝(浅克隆)
什么是深拷贝与浅拷贝浅拷贝:只复制对象的基本类型,对于引用类型,只是克隆地址数组的 Array.from(item) 方法就是实现的浅拷贝深拷贝:复制对象的基本类型和引用类型引用类型,只是克隆地址,那么原对象修改,克隆后的新对象也会跟着变化,克隆不彻底深拷贝的代码实现实现深拷贝需要用到递归的思想具体代码如下:// 实现深拷贝function deepClone(val) { //判断是普通类型或是null直接返回 if (typeof val !== 'object' || val原创 2020-09-22 09:34:19 · 696 阅读 · 0 评论