JavaScript
文章平均质量分 74
wen_rc
这个作者很懒,什么都没留下…
展开
-
什么时候要用到Reflect API?
里说 receiver是调用时 this 的指向,第一个参数 target 是目标对象,在上面的例子里,因为 b 没有 name 属性,所以沿着原型链去找,在 a 找到了,此时 get 方法里,obj 就是 a,recevier 仍是 b,我们按照预期应该是用 b 的 secondName 才对。,但 Proxy 还有很多其他的 API,如果这些 API都 要重新实现一次原本的行为比较麻烦,也不清晰。同时,b 是没有 firstName 的,看结果最后也从 a 里取到 firstName 的值了。原创 2024-02-26 20:19:23 · 513 阅读 · 0 评论 -
HTMLElement.click()的回调触发踩坑
每个宏任务之间会先清空所有微任务,因此打印顺序是 1- 》 microtask1- 》 2-》 microtask2。点击按钮后,分别进入两个回调,进入第一个回调时,先加到微任务,然后打印 1。问了下 gpt,说是 click 会立即把回调同步执行的,那就符合预期了。而当按钮是用户点击触发时,回调就分为多个宏任务触发了。那如果按钮点击不是用户触发,而是代码触发呢?按理说输出应该一样才对,但输出竟然变了!是 click 这个函数有什么特别吗?原创 2024-02-23 15:48:25 · 443 阅读 · 0 评论 -
简单实现节流函数踩的小坑
这里是变量作用域导致的,一开始_args的作用域在 throttle 返回的函数里,当调用了一次函数 t,setTimeout 里存着_args的值。下次调用函数 t,_args重新定义,就是新的内存地址了,再去改变他的值并不改变之前 setTimeout 传入参数的值。场景参考:周期上报,有的数据不急着报,只要定时上报即可,开发者可能在多个地方调用周期上报,只需把数据存起来一起报即可。setTimeout 的_args就一直用的同一份,之后多次调用函数 t,更新_args的值就生效了。原创 2024-02-22 15:49:06 · 164 阅读 · 0 评论 -
【读书笔记】 JavaScript 引擎基础:shapes和Inline Caches
这是这篇文章的翻译,帮助了解 JS 引擎基础部分内容。这篇文章介绍了一些关于 JS 引擎的基本概念Shapes和 Inline Caches,这有助于你理解代码性能。翻译 2024-02-13 23:36:14 · 55 阅读 · 0 评论 -
nodejs 事件循环
node.js的事件的循环原创 2024-02-03 22:04:52 · 918 阅读 · 0 评论 -
闭包可能导致的内存泄漏
闭包是函数可以保留和访问其外部变量,闭包可能会导致内存泄漏,下面介绍其中一种case,加深对闭包的理解原创 2023-02-15 15:11:01 · 402 阅读 · 0 评论 -
vue 计算属性未重新计算 / computed 未触发 / computed 原理&源码分析
vue computed源码分析原创 2022-11-30 18:11:53 · 15484 阅读 · 0 评论 -
搭建内置内部库的vue3组件在线解释交互器
搭建内置内部库的vue3组件在线解释交互器原创 2022-06-17 17:51:44 · 1579 阅读 · 0 评论 -
小程序包体积优化
小程序包体积优化思路分享原创 2022-02-11 17:38:42 · 859 阅读 · 0 评论 -
web前端工程发展史阅读笔记
https://peterxjang.com/blog/modern-javascript-explained-for-dinosaurs.html看了一篇文章挺有意思的,介绍web前端工程是如何演化到现在使用npm、webpack、babel这一系列工具的,把关键点翻译为中文,方便自己之后看。原始时代最早就像大学学的,直接写<!-- index.html --> <!DOCTYPE html> <html lang="en"> <head&.原创 2022-02-09 19:42:11 · 581 阅读 · 0 评论 -
小程序iOS Promise不支持finally语法 TypeError: undefined is not a function .finally is not a function
小程序iOS Promise不支持finally语法一开始知道finally语法是在Java,以为是很基本的语法,所以在JavaScript应该也支持,不需要考虑兼容性,后来查MDN才发现并不是。Promise的finally和try…catch…finally不是同一个东西,只是都叫finally而已。在小程序的iOS中,更是直接不支持Promise的finaly语法,会报TypeError: undefined is not a function或.finally is not a functio原创 2020-05-27 14:21:20 · 2125 阅读 · 8 评论 -
JavaScript里的this
https://wangdoc.com/javascript/oop/this.htmlJavaScript里的this知识点问题来了解决方案this在有些地方会让人感觉很困惑,这里记录下。知识点this指向谁,是实际运行时才决定的。this指向当前运行环境(这里的运行环境是一个JavaScript对象)。比如下面代码的this指向对象A。var A = {...原创 2019-09-21 20:59:55 · 150 阅读 · 0 评论 -
前端安全-XSS攻击、CSRF攻击
先来玩一个小游戏,输入一定的值,令到XSS攻击成功,执行alert(1)的代码https://alf.nu/alert1warmup,第一题很简单,直接");alert(1);("就能过adobe,第二题对"进行了转义,但可以用\令到转义字符\失效,之后再加上alert(1)即可过关。参考答案\");alert(1);//json,第三题尝试把输入数据转换为JSON,但没有对<...原创 2019-07-22 00:12:35 · 451 阅读 · 0 评论 -
JavaScript也会内存泄漏
一直没时间写,本来想着晚上写的,但晚上又有其他问题。先简单写写吧,用chrome的devTools的memory发现内存一直增大。顺着函数查下去,发现前端同事用一个数组存储了没来得及处理的事件,这些事件有对下载数据(一直有下载,且量大)的引用,然后事件处理完后却没有把事件从数组中清除,有引用导致GC回收不了这部分内存,造成内存泄漏。甚至内存爆掉影响用户体验。JS也会有内存泄漏问题,数组存放东西...原创 2018-11-05 20:50:54 · 232 阅读 · 0 评论