
Javascript笔记
magic-zhu
菜的抠脚的前端
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
框选算法的实现与封装(矩形与矩形的相交检测)
优雅实现矩形相交检测原创 2022-10-25 16:05:42 · 407 阅读 · 1 评论 -
在vue3中使用 forceUpdate()
import {getCurrentInstance} from 'vue';const instance = getCurrentInstance();instance.proxy.$forceUpdate();原创 2021-10-10 22:10:32 · 22930 阅读 · 3 评论 -
如何在vue3中配置alias
要在viteconfig 和 tsconfig中都设置// vite configexport default defineConfig({ plugins: [vue()], alias: { '@': '/src/', '@core': '/src/core/', },}); 不然会提示找不到路径// ts config{ "compilerOptions":{ ...... "paths": { "@core/*": ["./src/cor原创 2021-09-29 23:17:29 · 1363 阅读 · 0 评论 -
温故而知新@Javascript对象
文章目录对象的定义属性的类型数据属性访问器属性数据属性和访问器属性的对比读取属性的特性合并对象对象的解构嵌套解构注意事项对象的定义ECMA-262将对象定义为一组属性的无序集合属性的类型属性分为两类:数据属性和访问器属性数据属性数据属性包含一个保存数据值的位置。 读取和写入都在这个位置。它们有四个特性:特性描述默认值configurable能否使用delete、能否需改属性特性、或能否修改访问器属性、,false为不可重新定义,默认值为truetrueenu.原创 2020-11-15 22:24:37 · 282 阅读 · 1 评论 -
如何实现add(1)(2)(3)=6
相当于一个简单的函数柯里化function plus(x,y,z){ return [ ...arguments ].reduce((a, b) => a + b)}function currying(fn){ let len = fn.length let store = [] return function _plus(...args){ store =[...store,...args] if(stor原创 2020-10-23 10:04:46 · 915 阅读 · 0 评论 -
从node源码学习发布订阅
什么是发布订阅在软件架构中,发布订阅是一种消息范式,消息的发送者(称为发布者)不会将消息直接发送给特定的接收者(称为订阅者)。而是将发布的消息分为不同的类别,无需了解哪些订阅者(如果有的话)可能存在。同样的,订阅者可以表达对一个或多个类别的兴趣,只接收感兴趣的消息,无需了解哪些发布者(如果有的话)存在。发布订阅模式可以理解为观察者模式的扩展,个人理解区别在于发布订阅是由中介控制的意图:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。nod.原创 2020-09-21 22:45:28 · 196 阅读 · 0 评论 -
常用工具函数(持续更新)
驼峰转css属性 aaaBbb=>‘aaa-bbb’参数类型是否必填说明sstring是待转字符串@return 转换后的字符串function humpParse(s) { const reg = /([a-z]+)|([A-Z]{1}[a-z]+)/g; let r = s.match(reg) let attr = '' r.forEach((e,index)=>{ if(index===0){ attr = e; }else{原创 2020-09-03 22:37:51 · 530 阅读 · 0 评论 -
javascript原生实现图片相似度识别算法
有一种功能叫 查找相似图片js也可以简单的实现图片相似度识别最终示例体验地址 http://cdn.magiczhu.cn/index.html代码戳这里实现原理&步骤读取本地文件 - 网络图片可以省略这一步压缩图片 - 不用处理超级多的图片像素图片灰度化 - 便于比较特征提取特征指纹 - 取灰度的平均值 大的是1 小的是0计算汉明距离 - 简单一种计算方式(还有余弦相似度等等)得到相似度 - (特征字符串长度-汉明距离)/特征字符串长度具体实现读取本地文件关于Fi原创 2020-08-06 23:07:35 · 4210 阅读 · 0 评论 -
外观模式
文章目录概念举例概念为子系统中的一组接口缇欧拱了一个一致的页面,此模块定义了一个高级接口,这个接口使得这一子系统更加容易使用。简化了类中的接口对接口与调用者解耦举例canvas实例可以理解为一个封装好的外观类使用外观类暴露的接口去画图canvas.fillRect()canvas.fillText()...原创 2020-04-29 21:42:55 · 133 阅读 · 0 评论 -
趣味图解-命令模式
概念命令模式(Command Pattern)是一种数据驱动的设计模式,它属于行为型模式。请求以命令的形式包裹在对象中,并传给调用对象。调用对象寻找可以处理该命令的合适的对象,并把该命令传给相应的对象,该对象执行命令。???? 以下纯属个人理解???????? 将函数的封装 请求 调用结合为一体图解????实例微信小程序中的微信对象 可以理解为一个命令模式...原创 2020-06-21 17:06:45 · 187 阅读 · 0 评论 -
截取指定字节位数的字符串方法
/** * 截取指定字节位置的字符串 * @param {String} value - 输入字符串 * @param {Number} start - 开始位置 * @param {Number} end - 结束位置 */const sliceByByte = function(value,start,end){ let bytes = 0; let result...原创 2020-04-16 20:52:13 · 508 阅读 · 0 评论 -
javascript 保留小数点后xx位 2种快捷方法
//保留两位parseInt(num*100)/100//保留三位parseInt(num*1000)/1000//以此类推原创 2020-05-18 11:26:45 · 199 阅读 · 0 评论 -
代理模式
文章目录概念举例概念为其他对象提供一种代理以控制对这个对象的访问举例vue中通过代理 解决跨域问题vue3 中使用 proxy解决 劫持监听data(vue2.x中使用object.defineproperty)远程代理虚拟代理安全代理智能引用(垃圾回收机制)...原创 2020-05-03 13:38:47 · 133 阅读 · 0 评论 -
JavaScript 与函数式编程
JavaScript 与函数式编程原文 https://bethallchurch.github.io翻译原文 https://www.zcfy.cc/article/1013 众成翻译长久以来,面向对象在 JavaScript 编程范式中占据着主导地位。不过,最近人们对函数式编程的兴趣正在增长。函数式编程是一种编程风格,它强调将程序状态变化(即副作用[side effect])的次...转载 2020-03-12 13:23:43 · 158 阅读 · 0 评论 -
javascript数组遍历的方式及其区别
for循环使用示例let array = ['item1','item2'];let len = array.length;for(let i=0;i<len;i++){ console.log(array[i],i) //1 ,2,3,4}适用场景:非常灵活的一种方式,可以不必要遍历整个数组,可以根具需求随意跳出循环,但写法较为繁琐。foreach描述for...原创 2020-02-10 11:35:38 · 244 阅读 · 0 评论