手写实现JavaScript 相关功能代码
分享给大家 手写的JavaScript 相关功能代码!
靖凡无所畏惧
前端攻城狮!
展开
-
JavaScript 手写 Object.create 函数
前言: 今天给大家分享一下手写 Object.create 函数。代码: function myCreate(o){ function F(){} F.prototype = o; return new F() }原创 2022-03-01 20:07:12 · 920 阅读 · 0 评论 -
JavaScript 手写 apply 函数
前言:今天给大家分享 手写 apply 函数,希望对大家有所帮助!代码:注意点:1. 利用this的上下文特性。2. 和 call 类似 var show = function(){ console.log(this.name); console.log(...arguments); } let c = { name:'wjf' } // show.myBind(c,1,2,3)(4,5,6) Function.prototype.my..原创 2022-03-01 20:02:42 · 401 阅读 · 0 评论 -
JavaScript 手写 Promise 代码实现
前言: 相信在工作中各位小伙伴都使用过 Promise,但是它是如何实现的呢,今天就由我来给大家分享一下手写 Promise,希望对大家有所帮助!代码:// proise 三种状态const PENDING = "PENDING";const FULFILLED = "FULFILLED";const REJECTED = "REJECTED";function resolvePromise(promise, x, resolve, reject) { // x 的...原创 2022-03-02 21:22:01 · 558 阅读 · 0 评论 -
JavaScript 手写 Bind 函数
前言: 今天给大家带来手写 bind 函数,希望对大家有所帮助!代码:原创 2022-03-01 19:42:24 · 402 阅读 · 0 评论 -
JavaScript 手写实现深克隆
前言:深克隆是前端面试的一个非常基础的知识点,一般要求大家能手写出来,现在分享给大家一下本人自己写的深克隆代码,希望对大家有所帮助!代码:const isComplexDataType = obj=> (typeof obj === 'object' && obj !== null);function deepClone(obj,hash = new WeakMap()){ if(obj.constructor === Date){ return ne.原创 2022-03-01 14:22:15 · 567 阅读 · 0 评论 -
JavaScript 手写实现 Event-Bus
前言: 今天给大家分享一下手写 Event-Bus,希望对大家有所帮助!代码: function EventBus() { this._events = {}; } EventBus.prototype.on = function (eventId, func) { const callbacks = this._events[eventId]; if (!callbacks) { this._events[eventId] = [func];...原创 2022-03-01 22:38:24 · 839 阅读 · 0 评论 -
JavaScript 手写实现防抖和节流
是什么本质上是优化高频率执行代码的一种手段如:浏览器的 resize、scroll、keypress、mousemove 等事件在触发时,会不断地调用绑定在事件上的回调函数,极大地浪费资源,降低前端性能为了优化体验,需要对这类事件进行调用次数的限制,对此我们就可以采用throttle(防抖)和debounce(节流)的方式来减少调用频率节流使用时间戳实现function throttled(fn,delay=500){ let oldTime = Date.now(); re原创 2022-03-01 14:43:28 · 826 阅读 · 1 评论