
Web
文章平均质量分 65
高厉害
此人真的真的非常懒,什么都没有写。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【TS】TypeScript 实践中的 Equals 是如何工作的?
在 ts 中如何判断两种类型完全一致?三年前,在社区有一场关于支持 type level equal operator 的讨论 TypeScript#27024。大佬 @mattmccutchen 给出了一个非常精彩的解决方案:它本人并没有给出任何关于这个类型工作原理的解释,但它确实非常 work,在实践中被大量使用。不过,在后面其他人的交流中,发现了一些可能对理解有帮助的 comment。@fatcerberus这个类型在做的事情实际上就是,对 和 做 assignability 检查。而这个针对 c原创 2023-01-07 20:48:36 · 1560 阅读 · 0 评论 -
【TS】ts 中一些零碎特性记录
使用 spread opt in tuple 时,会出现类似 union 的分配避免 distributioninterface any value 会跳过可分配性检查原创 2023-01-03 18:31:44 · 877 阅读 · 2 评论 -
【Web】在浏览器中进行文件下载的实践记录
同源、非同源、可跨域场景下的解决方案和浏览器行为原创 2022-12-30 21:02:54 · 1199 阅读 · 0 评论 -
【TS】如何在 typescript 中迭代 union 类型?
如果我们的 union is assignable to但若 union 中存在额外情况,那就需要使用其他办法了。将 union 拆解开来并单独访问,我们知道 conditional type 有这个能力,因为 union 在其中会被拆解并分别 distribute 到单独的表达式中,但可惜的是,在运算结束后,这些值最终仍然会被 union 到一起,这个行为我们无法控制。对重载的函数,推断其函数签名时总以最后一个为准。last。原创 2022-12-20 21:36:13 · 693 阅读 · 0 评论 -
【TS】如何在 typescript 中将数组字面量推断到 tuple
Tuple 保留了数组内容的更多信息,包括数组长度,以及每个元素的类型(尤其是字面量类型)和元素之间的相对位置。尝试一下 实现 Promise.all 的类型。一个比较优秀的实现是:其中 用于显式将参数类型推断为 tuple,而不是更宽的数组类型 。不过,typescript 标准库里是这样实现的:注意到它没有使用 ,而是将泛型 的约束变成了一个 union type ,追加了一个空 tuple 类型。而当类型中包含 tuple 时,编译器会先一步**推断(inference)该类型为 tuple,原创 2022-12-19 20:18:50 · 484 阅读 · 0 评论 -
【TS】如何在 typescript 中合并一个 interface union?
这玩意利用了 union type 在 conditional type 中的 distributive 的特性,将 union 在第一个 condition 中 map 到多个具有单独类型参数 function,然后再 infer 到函数的参数上,就从 union 变成了 intersection。对上面这个合并的函数来说,我们要求他的参数类型一定是同时满足 union 中所有函数的参数类型的,所以一定是取交。函数中的参数,在上面的例子中,这个函数实际上是将 union 中的两个函数合在了一起。原创 2022-12-17 17:06:59 · 2465 阅读 · 1 评论 -
【Web】前端主动触发事件
creatEvent —> initEvent —> dispatchEventif(el.dispatchEvent){ var evt = document.createEvent('Event'); evt.initEvent(type,true,true); el.dispatchEvent(evt);}else if(el.fireEvent){ el.fireEvent('on'+type);}createEvent(eventType)转载 2021-01-08 16:39:39 · 483 阅读 · 0 评论 -
【Web】记一次破解 JS 加密
一直在寻找一个可用的搜题接口之前刷网课搜题一直用的 “帅搜”,写了个 py 的脚本,平常用起来很方便。后来也不知道什么原因,人家把接口给关闭了。import win32clipboard as winimport win32confrom requests_html import HTMLSession,sysfrom urllib import parseimport timedef getText(): win.OpenClipboard() text = win.Ge原创 2020-07-11 00:04:43 · 1187 阅读 · 0 评论 -
【itest 考试系统】线上考试,解决 鼠标选择 复制粘贴 右键菜单等限制
打开 console,注入以下代码即可setInterval(()=>{$('.itest-ques, body, document').attr('onselectstart','').attr('oncopy','').attr('onbeforecopy','').attr('oncontextmenu','').unbind('')[0].oncopy = null,document.oncontextmenu = null;},1000);点个赞...原创 2020-06-07 09:47:01 · 16746 阅读 · 14 评论 -
【JavaScript】简单取随机数 ~~(Math.random() * number)
~~(Math.random() * number)~~ 取反后再取反,正数向下取整,负数向上取整,例如 1.2 和 1.8 经运算返回 2-1.2 和 -1.8 经运算返回 -1 Math.random() * number返回一个位于开区间 (0, number) 的数字,向下取整后得到位于闭区间 [0, number - 1] ∈ Z 的数字。 封装一个取随机数的函数function random(min, max) { return ~~(Math.ran原创 2020-05-23 15:34:53 · 401 阅读 · 0 评论 -
【贪吃蛇】canvas + 原生 JS, 10 行极限实现贪吃蛇
上代码html<canvas id="can" width="600" height="600">不支持 canvas</canvas>csscanvas { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); background-color: #ccc; border-radius: 10px; bord原创 2020-05-22 13:36:09 · 379 阅读 · 0 评论 -
【Ajax】一点疑惑,关于 jQuery 的 ajax 接口
一点疑惑在接触 jQuery 的 ajax api 之前我一直在封装自己的接口代码:// Ajax 封装function Ajax() { var makeCallback = function (xhr, callback) { xhr.onerror = function (err) { callback(err, undefined, ...原创 2020-04-13 00:32:35 · 165 阅读 · 0 评论 -
【JavaScript】jQuery 实现耦合的鼠标单击与双击事件
jq 实现单击双击事件jq 的 dblclick 和 click 互相独立,在触发 dblclick 的基础上也会触发两次 click这里演示一种使其互相耦合的 demovar click = false;$().on('click', function () { if (click) { // 双击 click = false; } el...原创 2020-04-12 19:05:01 · 244 阅读 · 0 评论 -
【JavaScript】Class 关键字创建类时如何使用私有变量
最近碰上这个问题,查了很多资料在以往版本创建类时,我们可以轻松地使用私有变量及方法例如:function Constructor(param){ var that = this; var private = //.. this.public = //.. this.method = function () { console.log(...原创 2020-04-07 14:34:05 · 2391 阅读 · 0 评论 -
【JavaScript】当DOM对象回调某对象的方法时该方法的 this 指向问题,如何取到该实例?
上代码解释都在注释里通过 tab 栏切换一个列表: class List { constructor(param) { this.prop = param; } listToggle() { // ... fun // 这个方法通过被回调来切换 tab 栏 // 当该方法被回调时,我需要两...原创 2020-03-21 22:51:21 · 226 阅读 · 0 评论 -
【JavaScript】访问外部作用域的同名变量或 this 的几种方法
我们之前讨论过 python 和 js 在实现闭包时,使用变量的作用域差异→ https://blog.youkuaiyun.com/qq_16181837/article/details/104805151今天又遇到了相关的问题js 如何访问外部作用域的同名变量?在 python 中,我们有 nolocal 、 global 关键字,可以方便地声明某变量的作用域:def outer(): out...原创 2020-03-20 00:05:33 · 963 阅读 · 0 评论 -
【JavaScript】如何优雅地使用 setInterval
我想每隔一段时间就执行一次代码如下一个最简单的定时器,setInterval(function () { // do sth...}, 1000)这样写没有任何问题,但在最初,我却要傻傻地等一秒钟,我们的代码才会被第一次调用。也许你觉得其实还可以啦,不过一秒钟而已。但如果这个这个时间间隔很长,比如一分钟,十分钟,甚至一小时,那就出问题了。想解决很简单,如下:// 1...原创 2020-03-13 22:27:50 · 261 阅读 · 0 评论 -
【JavaScript(webapi)】记一次Debug,关于 removeEventListener 方法莫名失效
先上一段代码这个函数用于以反比例曲线平滑滚动 document:这里用闭包实现是为了能如下图这样方便地 在添加回调的同时传参:但是这个函数存在一个影响用户体验的滚动问题,上动图:我在页面自动滚动快结束的时候(有时候就想快点翻),向下滑动鼠标滚轮,然而这个函数却是不到目标位置不罢休。由于我向下滚动略过了锚定位置,而 Interval 并没有捕捉到路过锚定的状态,所以页面反而会向上滚...原创 2020-03-09 00:41:33 · 823 阅读 · 0 评论 -
【推荐】可编程的热键 AutoHotkey
强推一个热键脚本语言 AutoHotkey最近在学 Web ,刚到 jQuery ,然而每次打出 dollar($) 总是很不习惯无奈之下寻找各种解决办法,惊喜地发现了 AutoHotkey官网 → https://www.autohotkey.com/软件文档 → https://www.autohotkey.com/docs/AutoHotkey.htm开发文档 → https://...原创 2020-03-06 12:04:16 · 395 阅读 · 0 评论 -
【Web】js 简单动画,犯了低级错误
犯了个错误,蒙了好久才弄明白刚接触js动画,本来想简单实现一下看看,结果却出现了令我费解的bug…代码如下:一个很简单的的平移,每秒(方便debug才设置这么长时间)移动 1px。上面是一个闭包,我为一个按钮注册了 click 事件,控制动画的播放与暂停。看一下效果:这不管怎么说也不可能是一像素啊…后来发现移动的距离与盒子 margin 有关,margin 越大,移动距离越大。...原创 2020-03-02 22:04:48 · 253 阅读 · 0 评论 -
【Web】开始学Web开发!
笔记会放在这个网站上:gaolihai.top原创 2020-02-12 17:35:49 · 185 阅读 · 1 评论