代码视界

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继承

继承在各种编程语言中都充当着至关重要的角色,在JavaScript中也被经常用在前端工程基础库的底层搭建上,是JavaScript需要重点学习的一块内容。 继承可以使得子类具有父类的各种方法和属性。ES6中推出了class这个概念,方...

这一次彻底掌握JavaScript的深浅拷贝

关于拷贝这个问题,也是前端面试中的一道经典面试题,我们在日常开发中也常碰到需要用到深拷贝或浅拷贝的场景。接下来我们通过这篇文章,彻底掌握JavaScript的深浅拷贝。 数据类型在开始讲深浅拷贝之前,我们要先知道JavaScript的...

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

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

JavaScript数组乱序

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

JavaScript-数组去重

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

JavaScript-数组扁平化

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