js克隆对象
我们知道对象类型实际上是在赋值过程中复制地址的,所以如果一方改变了,其他的也会改变。 我们应该如何克隆一个对象并避免这种现象?
JavaScript比较运算符的使用(==vs===)
在使用JSLin绝大多数场合应该使用 === ,只有检测 null/undefined 的时候可以使用 x == null ,因为通常我们不区分 null 和 undefined ,即将 x == null 作为 x === null || x === undefined 的缩写
你所不知道的JSON.stringify
JSON已经逐渐替代XML被全世界的开发者广泛使用。本文深入讲解JavaScript中使用JSON.stringify的一些细节问题。首先简单回顾一下JSON和JavaScript:
null与undefined的区别与应用场景
话不多说,直接先上结论: null 和 undefined 基本相同,只有细微差别,null 是表示缺少的标识,指示变量未指向任何对象,转为数值为 0;undefined 表示 “缺少值”,即该处应该有值,但还没有定义,转为数值为 NaN
聊聊React源码中的位运算技巧
这两年有不少朋友和我吐槽React源码,比如:调度器为什么用小顶堆这种数据结构,直接用数组不行?源码里各种单向链表、环状链表,直接用数组不行?
什么是 Promise.allSettled() !
Promise.allSettled() 方法返回一个在所有给定的 promise 都已经 fulfilled 或 rejected 后的 promise,并带有一个对象数组,每个对象表示对应的 promise 结果。
Flutter软键盘原理分析
Flutter页面在软键盘弹出的时候,可以设置 Scaffold 的 resizeToAvoidBottomInset 属性来设置软键盘的处理。 当这个值为true的时候,页面会进行重新布局。那么我们应该如何监听 Flutter 的键盘弹出和页面的高度变化?
vue3在setup中通过$ref获取dom元素
在使用vue2的时候,我们需要获取dom元素,或者获取组件的相关方法属性,一般都是通过this.$refs[domName]的方式,但是在vue3的setup中是没有this的,那么如何获取$refs呢?
如何在JavaScript的实例对象中改写原型方法
在JavaScript中,我们通常可以像下面的代码这样来简单地定义一个类:然后使用下面的代码来实例化,并访问其中的原型方法: