代码视界

Hanpeng Chen的个人博客

学习Vue源码前需要了解的defineProperty和Proxy

作者:Hanpeng_Chen 公众号:前端极客技术 前言大家有使用Vue开发想必对响应式都有了解,知道Vue2是用Object.defineProperty实现数据劫持,进而实现的双向绑定。在已经发布快一年的Vue3中,数据响应...

一起搞清楚JS中的new到底做了什么,并模拟实现一个new

作者:Hanpeng_Chen 公众号:前端极客技术 new关键字对于前端开发者来说是比较常见的操作,在互联网大厂的面试中,有时候会要求手写实现new。接下来我们一起看看new到底做了什么?如何模拟实现? new原理介绍new概念...

一起手写实现符合Promise/A+规范的Promise源码

作者:Hanpeng_Chen 公众号:前端极客技术 Promise是JavaScript中异步编程的核心内容,也是前端面试的高频问题。关于Promise的基本用法这里不再详细介绍,接下来我们一起来实现一个符合 Promise/A...

聊一聊JavaScript类型判断的四种方法

前言在web开发中,我们经常碰到需要判断数据是数字还是字符串,判断是数组还是对象的场景,接下来我们一起来看看JavaScript中都有哪些方法可以判断数据类型。 欢迎关注我的微信公众号:前端极客技术(FrontGeek) type...

JavaScript数组乱序

前言对数组进行排序对我们来说很容易就能够实现,但是你有考虑过如何对一个有序的数组实现乱序,即随机排序吗? 数组乱序在实际开发过程中是可能碰到的,下面我们一起看看如何实现数组乱序。 sort + Math.random我们一开始可能会想...

JavaScript-数组去重

前言JavaScript的数组去重是前端比较常见的一个问题,今天我们来学习几种常见的数组去重方法。 欢迎关注我的微信公众号:前端极客技术(FrontGeek) 双层循环大部分人最先想到的是通过双层循环来去重。双层循环的实现原理很简...

JavaScript-数组扁平化

上一篇文章我们将JavaScript中数组的方法汇总了一下,本文我们一起来看看JavaScript数组常见的一个问题:数组扁平化。 什么是数组扁平化数组扁平化:就是讲一个复杂的嵌套多层的数组,一层一层地转化为层级较少或者只有一层的数组...

JavaScript-数组方法汇总

valueOf()、toString()valueOf()和toString()是JavaScript对象的通用方法。 valueOf()表示对该对象求值。不同的对象的valueOf方法不尽一致,数组的valueOf方法返回数组的本身...

JavaScript-函数节流

在上一篇文章 JavaScript-函数防抖 中我们学习了什么是防抖,并且一步步实现了防抖函数,今天我们一起来学习节流(throttle)。 什么是节流函数节流(throttle):当持续触发事件时,保证一定时间段内只调用一次事件处理...