
js
望星河
这个作者很懒,什么都没留下…
展开
-
事件订阅派发模式
思路:定义一个state用来存贮订阅事件和事件对应的回调函数。on方法用来订阅事件和添加对应的回调。emit方法则是用来派发事件,并且执行事件对应的回调函数队列。off方法则是用来取消订阅事件的回调函数或整个事件。once方法是只订阅一次事件。原创 2023-10-27 17:50:54 · 121 阅读 · 0 评论 -
instanceof 的原理以及手写实现
众所周知,js数据类型分为基本数据类型与复杂数据类型,而 instanceof 便是用来检测复杂数据类型,返回一个布尔值。其原理便是,检测构造函数的原型是否出现在检测对象的原型链上。原创 2023-10-25 20:46:06 · 168 阅读 · 0 评论 -
js实现复制文本
js实现复制文本。原创 2022-09-01 17:56:17 · 3002 阅读 · 2 评论 -
实现一个点击保存内容到粘贴板上的功能
const copy = () => { const copyValue = document.getElementById('copyValue') // 如果想要选中内容是input标签包裹的则不需要重新生成input const input = document.createElement('input'); input.setAttribute('readonly', 'readonly'); input.setAttribute..原创 2022-02-18 10:48:01 · 295 阅读 · 0 评论 -
react实现设置组合快捷键
分析下设置快捷键: 1.首先组合快捷键第一个必须为功能键(shift、ctrl、alt)且最后一个键不能为功能键, 2.组合键的键数大于1(shift+V),小于等于4(ctrl+shift+alt+A) 3.当出现功能键+普通键+功能键时(如shift+A+alt)时,应替换为功能键+功能键+(shift+alt+),就是功能键必须相连,不相连最后一个功能键把普通键替换掉, 4.当出现不符合规则的组合时需要变回未改变时的状态 state = { oldKey: 'CTRL+F12', ne原创 2022-01-13 17:44:17 · 2193 阅读 · 1 评论 -
2021-05-25
React引入本地图片的方法 类似于引入外部css样式,先用import引进来,起一个变量名。 然后src={{变量名}}就可以了原创 2021-05-25 20:16:42 · 104 阅读 · 1 评论 -
关于数组排序方法sort()的理解
我在接触数组排序方法的时候看到这样一组代码: var arr = [10, 4, 50, 32]; console.log(arr.sort((a, b) => a - b)); 然后他就按从小到大的顺序排好了;就很神奇。当时刚学没想那么深入,没弄懂return a-b到底是个什么意思; 今天心血来潮,就各种百度,现在总算有个大致的理解了。 我的理解是他是个冒泡排序,,内置了一个匿名的比较函数compare(a,b),遍历数组,a,b为连续的两个数、,a-b,如果>0则交换a,b的位置原创 2021-04-19 12:44:08 · 911 阅读 · 0 评论 -
数组随机排序的两种实现方法
1.利用数组中的sort()方法: var arr = [10, 4, 50, 32]; console.log(arr.sort((a, b) => a - b)); 2.Fisher-Yates Shuffle,复杂度为O(n)。从后向前遍历,不断将当前元素与随机位置的元素(除去已遍历的部分)进行交换 function shuffle(arr) { let m = arr.length; while (m > 1){ let index =原创 2021-04-19 11:41:14 · 807 阅读 · 1 评论 -
JS 去除数组重复元素
第一种 var arr=[1,6,1,5,5,5,1,1,5,5,5,5,55,]; function norepeat(){ for(var i=0;i<arr.length;i++){ for(var j=arr.length-1;j>=i+1;j–){ if(arr[i]==arr[j]){ arr.splice(j,1) console.log(j) } } } } norepeat(arr); document.write(arr) 第二种 var arr=[1,6,1,5,5,5,1原创 2021-03-03 21:31:53 · 488 阅读 · 4 评论