js手写系列
weixin_47207556
这个作者很懒,什么都没留下…
展开
-
JS实现对象的浅、深拷贝
JS手写系列要告一段落了,(https://blog.csdn.net/weixin_47207556/category_11305372.html?spm=1001.2014.3001.5482)作为一个刚接触前端的小白,最开始喜欢上前端也是因为JS,学习的过程中也越来越感受到它的魅力。手写系列真是让我有很大收获和提升,想想一开始看的时候,很多完全看不懂,但是又非常想看懂。一行一行地看,不懂的api就去MDN查,看函数说明,看参数,看返回值。知道的也去查,再巩固一下,或者去翻红宝书。这样开始学了原创 2021-08-27 18:26:16 · 80 阅读 · 0 评论 -
JS实现Promise
Promise是ES6新增的特性,已经被正式列入ES6的规范中。Promise是一个对象,代表了一个异步操作的失败或成功。应该先熟悉Promise的使用再学习Promise的实现。//实现Promise//Promise的实现需要考虑一下几点/*1.then 支持链式调用,返回一个新的Promise 2.处理异步问题,先用onResolvedCallbacks和onRejectedCallbacks分别把成功和失败的回调存起来 3.为了让链式回调正常进行下去,需要判断onFulfilled和o原创 2021-08-27 16:26:05 · 444 阅读 · 1 评论 -
JS手写实现几种继承方式。
继承的几种方式:原型链方式,盗用构造函数方式,组合继承,寄生式组合继承,类继承。<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>组合继承</title></head><body> <script> function Animal(name) {原创 2021-08-26 14:59:21 · 404 阅读 · 0 评论 -
JS数组扁平化
数组扁平化<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>数组扁平化</title></head><body> <script> let arr = [1,2,[3,4],[[5]]] let Farr=arr.flat(2) c原创 2021-08-25 17:58:54 · 74 阅读 · 0 评论 -
JS数组去重
ES5和ES6中数组去重方法<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>数组去重</title></head><body> <script> //ES5中数组去重,即使是ES5 也够酷 function unique(arr) {原创 2021-08-25 17:56:56 · 53 阅读 · 0 评论 -
JS实现new,instanceof关键字,Object.create()、Object.assign()方法
JS实现new,instanceof关键字,Object.create()、Object.assign()方法。最后还有其他小知识点的总结<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>实现instanceof,new关键字,以及Object的两个方法</title></head><body>原创 2021-08-25 11:03:01 · 122 阅读 · 0 评论 -
js事件总线,发布订阅模式
里面还有还有顺带复习的其他知识点:for in和for of循环,普通对象可迭代。上边是标准版,下边是自己写的简易版原创 2021-08-24 22:23:35 · 146 阅读 · 0 评论 -
JS数组原型中方法实现,forEach,map,filter,some,reduce
forEach,map,filter,some,reduce五个方法都是不会改变原数组的方法。<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>实现数组原型方法</title></head><body> <script> //实现forEach方法。forEach原创 2021-08-24 17:11:57 · 234 阅读 · 0 评论 -
JS函数柯里化,偏函数。最简洁的版本
函数柯里化就是将使用多个参数的函数转化为一系列使用一个参数的函数<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>函数柯里化</title></head><body> <script> function add(a,b,c,d) { retu原创 2021-08-23 21:01:57 · 72 阅读 · 0 评论 -
js函数节流 时间戳的简易版
函数节流触发高频事件,在N秒内执行一次。采用时间戳方法的思路是:保存函数上次执行时的时间,此次时间与上次执行时间差大于给定时间执行函数。<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>函数节流</title></head><body> <div id="layout" style="b原创 2021-08-23 12:13:18 · 416 阅读 · 0 评论 -
js函数防抖
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>函数防抖</title></head><body> <div id="layout" style="height: 100px; width: 100px; background-color: mistyrose"></div&原创 2021-08-22 22:22:33 · 49 阅读 · 0 评论 -
js图片懒加载(无防抖),数组方法复习
js图片懒加载可以延迟内存占用<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>图片懒加载</title></head><body> <div style="height: 100vh;width: 100vh;background-color: #FFB866" ></div原创 2021-08-22 21:35:44 · 151 阅读 · 1 评论 -
订阅发布者模式
里面还有还有顺带复习的其他知识点:for in和for of循环,普通对象可迭代。上边是标准版,下边是自己写的简易版原创 2021-08-22 17:47:45 · 95 阅读 · 0 评论