前端杂货铺上新

零食

如何手动触发滚动事件

var myEvent = new Event('scroll')
window.dispatchEvent(myEvent)

将一个数组拍平

方法一:

let arrCurrent = [1, [[2], 3, 4], 5]
let resultArr = []

// 考察 reduce 用法,数组的 concat Array.isArray 方法,以及递归方法
function flatten(arr) {
  return arr.reduce((lastItem, currentItem) => {
    return lastItem.concat(Array.isArray(currentItem)? flatten(currentItem) : currentItem)
  }, [])
}

resultArr = flatten(arrCurrent)

使 a == 1 && a == 2 && a == 3 的值为 true

方法一:
使用隐式类型转换的时候调用 toString 方法的特性

var a = {
    value: 1,
    toString: function () {
        return this.value++
    }
}

a == 1 && a == 2 && a == 3

方法二:
使用 Object.defineProperty 方法

val = 1
Object.defineProperty(window, 'a', {
    get: function () {
        return val++
    }
})

a == 1 && a == 2 && a == 3

git 小技巧

git cherry-pick 将某个分支的某个提交,复制到自己的分支上

MR(merge request) 想让人看,但不想对方合并,标题前缀写上:
[WIP] ,注意逗号前面有空格,或 WIP: ,注意逗号前面有空格

酒水

缓存问题

问题描述:

想真机测试一下,在微信中访问,从抓包中没有看到我想看到的几个 js 文件

过程分析:

1、怀疑是缓存原因,导致抓包没有成功

2、先从Chrome 中将整个 HTML 抓取下来(查看源码)
一开始是类似这样去引用 js 文件

3、修改 HTML 中的 JavaScript 引用方式

这样浏览器就认为它是不同的文件,从而会更新缓存了

4、将线上的 HTML 文件代理到本地的 HTML (修改过的)、重新抓包

5、可以看到我想看到的几个 JavaScript 文件

6、定位凶手就是缓存

如何清微信缓存

小米6 机器(应该安卓的都是这样的)
设置——应用管理——微信——清除数据——清除缓存

苹果手机,待补充

关于

前端大杂货铺,主要聊聊前端技术、偶尔谈谈电影、读书、旅行以及一些感悟

欢迎大家来我杂货铺逛逛,不买东西都行,我们就聊聊天,谈谈心~

前端杂货铺上新_第1张图片
欢迎大家关注我的前端大杂货铺

你可能感兴趣的:(前端杂货铺上新)