
手写实现JavaScript 相关功能代码
分享给大家 手写的JavaScript 相关功能代码!
靖凡无所畏惧
前端攻城狮!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
JavaScript 手写 Object.create 函数
前言: 今天给大家分享一下手写 Object.create 函数。 代码: function myCreate(o){ function F(){} F.prototype = o; return new F() }原创 2022-03-01 20:07:12 · 967 阅读 · 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 · 424 阅读 · 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 · 587 阅读 · 0 评论 -
JavaScript 手写 Bind 函数
前言: 今天给大家带来手写 bind 函数,希望对大家有所帮助! 代码:原创 2022-03-01 19:42:24 · 433 阅读 · 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 · 602 阅读 · 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 · 874 阅读 · 0 评论 -
JavaScript 手写实现防抖和节流
是什么 本质上是优化高频率执行代码的一种手段 如:浏览器的 resize、scroll、keypress、mousemove 等事件在触发时,会不断地调用绑定在事件上的回调函数,极大地浪费资源,降低前端性能 为了优化体验,需要对这类事件进行调用次数的限制,对此我们就可以采用throttle(防抖)和debounce(节流)的方式来减少调用频率 节流 使用时间戳实现 function throttled(fn,delay=500){ let oldTime = Date.now(); re原创 2022-03-01 14:43:28 · 865 阅读 · 1 评论