前言
以下源代码大部分收集于各个开源库和公开代码
# 常用辅助类函数
1 | function isDef (value) { |
# deepAssign
将所有可枚举属性的值从源对象复制到目标对象,返回目标对象
1 | const { hasOwnProperty } = Object.prototype |
注意1✨: 该方法会跳过那些值为 null 或 undefined 的源对象和目标对象;该方法对于目标对象中没有的key会直接复制源对象对应的key和value,不会发生深拷贝
注意2✨: 当Object以非构造函数形式被调用时,Object() 等同于 new Object(),主要用于处理给定值是 null 和 undefined·时, 创建并返回一个空对象,否则,将返回一个与给定值对应类型的对象
# raf
requestAnimationFrame官方介绍
下面是 requestAnimationFrame的 polyfill
1 | let prev = Date.now() |
# scroll
获取html元素对应的一些位置信息的封装
1 | export default { |