![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
js
何其涛
我的qq:459069283 有什么问题可以加我,一起讨论学习!
展开
-
兼容所有浏览器的js简单手动复制粘贴文本方法
兼容所有浏览器的js简单手动复制粘贴文本方法因为比较简单所以就简短说三步:创建一个不显示在页面上的textarea/input标签将需要复制的值设置到标签的value属性上获取标签dom调用select方法选中所有内容,调用document.execcommand('copy')执行复制完事!其实就是模拟手动选中复制的操作代码://html<textarea value=...原创 2020-04-09 20:00:51 · 1192 阅读 · 0 评论 -
js的eventloop中的宏任务和微任务理解,实现对setTimout定时器补偿
js的eventloop中的宏任务和微任务理解,实现对setTimout定时器补偿写有关宏任务和微任务的优秀博文有很多已经差不多讲的很详细,写这边博客并不是要做一个补充, 大略只是对自己学习理解做一个记录补充,同时进行分享。有助于输出推动学习。外文链接:https://jakearchibald.com/2015/tasks-microtasks-queues-and-schedules/...原创 2020-03-26 20:12:47 · 526 阅读 · 0 评论 -
一道简单的算法题 -立方体堆叠计算面积-容斥原理(js/golang实现)
一道简单的算法题 -立方体堆叠计算面积-容斥原理(js/golang实现)刷了一下算法题,分别用js和golang实现了一遍,比较简单的容斥问题题目在长度为N的正方形网格上, 堆叠立方体,计算堆叠后整个物体的表面积?用例//输入[ [1, 2, 3], [1, 0, 0], [1, 0, 1]]//输出解题思路容斥原理:(引用百度)在计数时,必须注意没有重复,没...原创 2020-03-26 15:26:09 · 2344 阅读 · 0 评论 -
观察者及发布订阅模式区别详解及js实现
观察者模式和发布订阅模式的概念在项目开发中很常见 ,这里记录一下自己的理解,详解一下两者的区别的并分别用代码实现来直观体现两者区别,便于日后温故知新观察者模式 观察者模式别名也叫发布-订阅模式,但是发布订阅模式其实只是观察者模式中的一种具体的实现方式通常我们所说的观察者和发布订阅模式的区别,其实只是把观察者模式的一种原始的实现方式和现在的流行的发布订阅实现方式对比)。 好了,现在先...原创 2020-03-19 21:13:17 · 816 阅读 · 0 评论 -
BizCharts多折线图字段别名,Tooltip和legnd分别设置
BizCharts多折线图字段别名,Tooltip和legnd分别设置项目中用到了BizCharts,但是多折线图的Tooltip浮动提示和legnd图例的字段名直接用的是字段的名字,但是字段名并不能直接设置别名,所以解决起来比较麻烦,需要在Tooltip和legnd中都设置模板,而字段名的类型是key, 文档不是很全,找了很长时间,所以记录一下Tooltip修改 <Geom ...原创 2019-04-01 14:14:22 · 6490 阅读 · 0 评论 -
TCP拥塞控制和流量控制区别含义深刻理解
TCP拥塞控制和流量控制区别含义深刻理解因为最近学习了TCP/IP协议,学习TCP其中内部的两个很大的特点,就是流量控制和拥塞控制两个优化数据传输的方法,因为两者有很多细节的知识,所以再这里记录一下,希望能很直白清楚的解释这两个概念,也方便记忆和理解.拥塞控制和流量控制是TCP用来解决传输数据中产生的一些问题,而采取的两种优化方法,两者作用上的区别流量控制是为了解决发送方和接收方速度...原创 2019-03-27 20:57:03 · 12357 阅读 · 1 评论 -
直白理解javascript中函数柯里化,偏函数,反函数柯里化
直白理解javascript中函数柯里化,偏函数,反函数柯里化因为之前有写过一篇理解函数式编程的,但是讲到函数式编程就必须提到函数柯里化, 函数柯里化是函数式编程中很常见的写法,这篇也是看了很多篇大佬的文章综合理解,下面是个人的一写简洁,希望能够更直白的理解上面这些定义函数柯里化定义官方定义: 是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受...原创 2019-03-22 15:01:15 · 345 阅读 · 0 评论 -
vue数据绑定中defineProperty清晰解析和set和get使用,不懂就问
defineProperty清晰解析和set和get使用,不懂就问都知道vue中的数据绑定就是用object.defineProperty以及其中的set和get实现的,所以理解vue的内部原理之前就需要理解object.defineProperty.因为很多关于这个的解释博客都写得很难理解,所以自己写一下自己的理解.概念Object.defineProperty(obj, prop, ...原创 2019-03-18 22:04:10 · 2128 阅读 · 0 评论 -
小程序get/post/上传文件请求用promise封装
小程序的wx.request没有对传过来的请求进行处理,对于各种状态进行处理,所以需要在代码里封装,这里是直接写app.jsl里的,get和post的封装.首先写通用headerheader header: { 'app_code': "DAFENGBAODAI", 'client': 'miniProgram', 'imei': 'idfv', ...原创 2019-03-07 18:45:28 · 1180 阅读 · 0 评论 -
JSON对象转成formData对象,formData对象转成JSON对象
在向后端请求时,如果上传的数据里存在file文件对象,需要用到表单提交,这时候我们需要将JSON对象,转成formData对象,具体见代码 Object.keys(params).forEach((key) =&amp;amp;gt; { formData.append(key, params[key]); });...原创 2019-02-14 15:53:16 · 29625 阅读 · 1 评论 -
vue中实现拖拽,复制粘贴操作获取上传图片
拖拽,复制粘贴操作获取图片因为最近项目需要实现一个图片组件,包含压缩,拖拽上传,复制上传,图片裁剪,兼容多图和单图上传功能,好像这类组件也比较少,所以自己就封装了一个,连带着相关知识也熟悉了。这里分开几篇写,下面说一下图片拖拽,复制粘贴获取文件首先复制粘贴是只支持微信qq或者钉钉上的截图的,而本地文件是不支持的,且复制粘贴不支持同时上传多张其次拖拽上传支持本地的文件,不支持截图的拖拽...原创 2018-11-12 19:07:33 · 7395 阅读 · 1 评论 -
sessionStorage多标签页共享
sessionStorage多标签页共享sessionStorage在不同页面上不是同步共享的,但是我们有时候会将token或者一些登录凭证记录在token里(你肯定要问为什么后端不把token直接写到cookie里,因为他懒…),所以这里就写一下怎么将不同页面的sessionStorage同步更新sessionStorage和localStorage区别localStorage的生命周...原创 2019-01-18 11:35:39 · 14030 阅读 · 1 评论 -
canvas压缩图片方法
canvas压缩图片方法因为最近项目需要实现一个图片组件,包含压缩,拖拽上传,复制上传,图片裁剪,兼容多图和单图上传功能,好像这类组件也比较少,所以自己就封装了一个,连带着相关知识也熟悉了。这里分开几篇写,下面先说一下图片压缩。关于图片压缩好像有不少方法,这里我选了一种我认为比较好的方法,也就是很多图片插件里用到的canvas截图方法,原理就是将图片渲染到canvas上,再将canvas截...原创 2018-11-07 21:33:56 · 1833 阅读 · 0 评论 -
forEach(),map(),filter()和reduce(),find()区别理解
forEach(),map(),filter()和reduce(),find()区别这几种都是数组的遍历方法方法用法上容易混淆,这里写下我的理解forEach()支持:除去(ie678)forEach只是简单的将数组遍历,类似于军人接受检阅,但是检阅结束并不会返回任何东西,也不会改变原数组,forEach的返回永远是undefind let total = null ...原创 2018-05-12 23:24:49 · 16294 阅读 · 5 评论