自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 JavaScript 中的这些继承方式,你弄懂了吗

面试中我们经常会被问到继承,希望通过此文,你能彻底搞懂 JavaScript 中的继承原理。前言ES6 以前,JavaScript 中的继承不像其它 oo 语言一样,用特定 class 去实现,它是由构造函数和原型去模拟,下面我们会介绍几种常见的继承方法以及对应的优点和不足。原型链什么是原型链?比如我有一个构造函数,这个构造函数的实例有一个内部指针[[Prototype]]指向构造函数的原型,然后这个构造函数的原型又是另一个构造函数的实例,也就是说这个构造函数原型有一个内部指针[[Protot.

2021-05-14 11:40:06 104

原创 这些常见的手写题,你掌握了吗

1. 实现 instanceof 运算符instanceof 运算符用于检测构造函数的 prototype 属性是否出现在某个实例对象的原型链上,运算符左侧是实例对象,右侧是构造函数。const iInstanceof = function (left, right) { let proto = Object.getPrototypeOf(left); while (true) { if (proto === null) return false; if (prot

2021-04-30 15:41:35 159 2

原创 记录一次使用 yarn patch 遇到的问题

最近在修改 node_modules 里的文件时(具体可以参考我的另一篇文章—修改 node_modules 里文件的正确姿势),发现了 yarn patch 这个特性,这是 v2 版本的一个新特性,于是想动手实验一番,结果报了如下错误:意思是说在我的 lockfile 文件里面找不到我的这个依赖包,我一脸黑人问号, 明明刚安装了这个包,为什么会找不到呢?于是我重新 yarn install 一下,发现了如下错误(用的是vue-cli4):猜想会不会是因为 vue-loader-v16@16.2

2021-04-12 23:08:31 655

原创 修改 node_modules 里文件的正确姿势

前言我们在开发的时候经常会遇到这种情况:所依赖的 npm 包有 bug,别人一时半会更新不了不满足自己的需求(比如一些 UI 框架),需要修改某些部分那么这个时候我们就要去修改 node_modules 里面的源码,直接修改会导致两个问题:第一,更新问题,重新安装之后,修改的文件会被覆盖第二,同步问题,node_modules 里的文件一般是不提交到代码库的,那如何让团队其他成员也能同步更新呢?你总不能每次改完之后都手动发给其他人吧。你可能首先想到的解决办法有这样两个:把别人代码全部复

2021-04-12 22:53:41 2084

原创 我的2020之路

2020是极不平凡又极其有意义的一年,有些东西需要被记录下来。以前总对自己记忆力迷之自信,不屑于用文字的形式记录下来(其实是懒),现在发现随着年龄的增长,记忆力愈发衰退,很多东西容易忘记,而记录可以帮助自己回忆当时的很多细节。记录的另外的一个好处是帮助自己复盘,反思自己有哪些地方做得不好,需要改进;有哪些做得还不错,勉励自己继续走下去;有哪些还没有做的,在接下来的时间里需要去弥补。2020对我来说最大的一个收获就是儿子和外甥在岁末出生了,这不能不说是一个巨大的惊喜。winter说成功三大标准: 1.

2021-02-18 16:49:06 201 2

原创 对Object.defineProperty的一点探讨

引子最近读高程4的时候,发现里面有一句话“一个属性被定义为不可配置之后,就不能再变回可配置的了。再次调用Object.defineProperty()并修改任何非writable属性会导致错误”,亲自实践之后,发现这句话的后半段说得有点问题。当writable为true时,修改value属性不会导致错误let person = {};Object.defineProperty(person, "name", { configurable: false, writable: true,

2021-02-11 23:45:03 162

原创 盘点js中那些诡异的结果

本文中涉及到的知识,很多都是比较冷门,在实际编码中你可能用不到,但保不准有些面试官可能会问到,或者你可以拿来zb。1. typeof null这个是历史遗留的bug,typeof null 值为"object"2. null == undefined值为true3. -0 === +0值为true,但是Object.is(-0, +0)为false4. Infinity * 0值为NaN,类似的还有Infinity / Infinity = NaN,Infinity % 0 = NaN,.

2021-01-29 14:13:19 183

原创 详解js中 0.1+0.2 !=0.3

笔者曾经面试被问到过0.1+0.2的结果是啥,初看这题你可能心中会想,难道不是0.3吗?但你肯定会觉得没那么简单,那今天我们就来探一探究竟。1. JavaScript中数字的存储机制在JavaScript中数字是以IEEE 754 双精度64位浮点数(en.wikipedia.org/wiki…(需翻墙)来存储的,它的表示格式为:(s) * (m) * (2 ^ e)其中s表示符号位,m...

2019-12-04 18:09:14 326

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除