js操作
文章平均质量分 68
无敌CV工程师
前端领域博主,阿里云专家博主
展开
-
浅拷贝,简单深拷贝
如果 target 的类型不是对象或为 null,则直接返回 target,因为不需要进行拷贝。然后,我们根据 target 的类型创建一个空的克隆对象 cloneTarget。在这段代码中,我们定义了 _sampleDeepClone 函数,它接受一个参数 target,表示要进行简单深拷贝的目标对象。在这段代码中,我们定义了 _shallowClone 函数,它接受一个参数 target,表示要进行浅拷贝的目标对象。首先,我们根据 target 的类型创建一个空的副本对象 copy。原创 2024-03-11 16:20:38 · 594 阅读 · 0 评论 -
手写Object.create(),call函数,bind函数
在这段代码中,我们将原始函数存储在 that 变量中,然后返回一个新的函数。这个新函数在调用时将使用 apply 方法来调用原始函数,将 target 作为 this 值,并将预先传入的参数 args 与实际调用时传入的参数 innerArgs 进行合并。该函数的目的是在给定的对象 obj 上调用当前函数,并传递参数 args。在函数内部,首先将当前函数(即调用 _call 的函数)作为 obj 对象的属性 fn。语法调用 obj 对象的 fn 属性,并将参数 args 传递给该函数。最后,返回调用结果。原创 2024-03-11 16:19:55 · 586 阅读 · 0 评论 -
全排列,手写reduce
这段代码是一个递归函数 _permute,用于生成字符串参数的所有排列组合。它使用了回溯法的思想。首先,如果字符串的长度为 1,表示已经无法再进行排列,直接返回包含该字符串的数组 [string]。否则,创建一个空数组 res,然后对字符串中的每个字符 s 进行遍历。在每次遍历中,生成一个新的数组 arr,其中排除当前字符s。接着,递归调用 _permute 函数,传入 arr.join(‘’) 作为新的字符串参数,获取其排列组合结果。原创 2024-03-10 11:04:53 · 389 阅读 · 0 评论 -
事件委托,数组去重
6.如果 obj.hasOwnProperty(typeof item + item) 返回 false,表示 obj 对象不包含当前元素,说明当前元素是新的,那么将其添加到 obj 对象中,并在 filter() 方法中返回 true,表示保留当前元素。5.如果 obj.hasOwnProperty(typeof item + item) 返回 true,表示 obj 对象已经包含了当前元素,说明当前元素是重复的,那么在 filter() 方法中返回 false,表示过滤掉当前元素。原创 2024-03-10 11:04:34 · 1003 阅读 · 0 评论 -
js其他方法
getDate() 返回月中的第几天(从 1 到 31)。getDay() 返回星期几(0-6)。getFullYear() 返回年份。getHours() 返回小时(从 0-23)。getMilliseconds() 返回毫秒(0-999)。getMinutes() 返回分钟(从 0-59)。getMonth() 返回月份(从 0-11)。getSeconds() 返回秒数(从 0-59)。getTime() 返回自 1970 年 1 月 1 日午夜以来与指定日期的毫秒数。原创 2023-09-14 11:32:38 · 91 阅读 · 0 评论 -
JS进阶基础
*Instanceof判断属不属于数组。只要是原型对象就是construtor。**只要是对象就有__proto。原创 2023-04-01 20:38:27 · 139 阅读 · 0 评论 -
BOM操作
文章目录BOM事件页面加载调整窗口事件定时器停止计时器Location对象History对象Offsetleft获取元素偏移Offset与style的区别可视区client系列滚动scroll系列Mouseover和mousenter区别动画原理实现动画封装给不同对象添加定时器缓动动画原理多个位置间移动BOM事件页面加载调整窗口事件定时器停止计时器Location对象History对象Offsetleft获取元素偏移Offset与style的区别可视区clie原创 2023-09-14 11:08:05 · 611 阅读 · 0 评论 -
DOM操作
DOM相关知识基础原创 2023-03-18 16:50:57 · 166 阅读 · 1 评论