js
凡尘向天
这个作者很懒,什么都没留下…
展开
-
JS学习笔记(二)
结构型值的不可变(闭包和对象)原创 2023-04-17 14:23:31 · 234 阅读 · 1 评论 -
JS学习笔记(一)
JS 原型原创 2023-04-17 10:03:25 · 406 阅读 · 0 评论 -
柯里化实现
什么是柯里化 函数柯里化(curry)是函数式编程里面的概念:只传递给函数一部分参数来调用它,让它返回一个函数去处理剩下的参数。 每次调用函数时,只接受一部分参数,并返回一个函数,直到传递所有参数为 ...原创 2022-02-21 13:32:17 · 350 阅读 · 0 评论 -
防抖节流手动实现
什么是防抖(debounce) 所谓防抖,就是指触发事件后n秒后才执行函数,如果n秒内又触发了事件,则会重新计算函数执行时间(类似死歌放大招~)。 本质是:某一时间段只执行一次, 主要应用场景:大多应用于search搜索联想和window触发resize的时候,不断调整浏览器窗口大小会不断触发这个事件,用防抖来让其只触发一次。节约请求资源。 funtion debounce(func,delay){ let timer = null return (..args)=>{ clearTi.原创 2022-02-17 16:23:34 · 469 阅读 · 0 评论 -
手动实现instanceOf
instanceOf 用于检测构造函数的原型是否出现在某个实例对象的原型链上 遍历实例对象的原型链,找是否有和构造函数的原型相等的原型,直到最顶层Object还找不到,那么就返回false。 递归实现 let fn = function(){} let p1 = new fn() /* 1. obj :实例对象 2. func : 构造函数 */ const defineInstanceOfByRecursive=(obj,func)=>{ // 判断是否找到Object顶层 if(.原创 2021-12-15 10:10:34 · 175 阅读 · 1 评论 -
reduce数组去重
const testArr = [1,2,2,3,4,4,5,5,5,6,7] testArr.reduce((acc, cur) => { if (!(acc.includes(cur))) { acc.push(cur) } return acc }, [])原创 2021-08-03 15:45:30 · 78 阅读 · 0 评论 -
重写tofixed方法,解决js运算时精度丢失问题
Number 类型使用 IEEE 754 格式表示整数和浮点值,精度丢失的本质就是浮点数转化为该标准的二进制的过程中出现的丢失。为了解决该问题,重写tofixed()方法解决该问题 // 至于乘法 加法 减法 除法 运算重写 可以自己取百,又很多帖子 // 重写取余数方法 function round(num, s) { // 如果传入的值是整数或者是有限小数直接返回,这里取小数点后16位作为无限小数的区分标志 if (Number.isInteger(num) || num.toString.原创 2021-08-02 14:12:36 · 516 阅读 · 0 评论 -
1.H5解决安卓手机调用键盘时顶起底部吸底样式和可见区域不可视问题
<div v-show="isOriginHei"> <button class="home-btn add-box-btn" type="primary" @click="addNewBox"/> </div> data() { return { originHeight: 0, // 原始高度 screenHeight: 0, // 实际高度 isOriginHei: true, // 显示或隐藏原创 2021-06-29 20:39:01 · 485 阅读 · 0 评论