V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  MossFox  ›  全部回复第 10 页 / 共 14 页
回复总数  263
1 ... 2  3  4  5  6  7  8  9  10  11 ... 14  
2023-01-14 20:42:33 +08:00
回复了 zhanglintc 创建的主题 问与答 下面这段 js 代码的输出应该是什么?
更正:"此时的任务队列是空的" → "此时,当前的回调函数并没有直接进入任务队列"
(正在执行的也是一个宏任务)
2023-01-14 20:36:53 +08:00
回复了 zhanglintc 创建的主题 问与答 下面这段 js 代码的输出应该是什么?
@zhanglintc

我不确定自己的解释对不对,所以…… 如果有路过的人发现有不准确的地方,麻烦一定要指出来一下,感谢。

setTimeOut 注册的是 marcotask (宏任务),它的行为是这样的:
- 在执行到 setTimeOut 的时候,定时器会交给 JS 引擎去在指定的将来 n 毫秒的时候,将 callback function 推入宏任务队列 (**注意** 此时的任务队列是空的,等待定时器的过程不属于 JS 的任务队列里的任务,注册的回调函数才是)
- 只有在当前的同步语句执行完成 (即当前的宏任务结束) 之后,宏任务队列中才会开始执行下一个任务

也就是说,即使这里在两个 setTimeOut 执行结束后,阻塞了超过 10 ms ,实际上宏任务队列也是会按照注册的时间将任务推进去的——只不过到时间了的时候,当前的宏任务还没有结束,所以回调函数不会按预期执行 (但确实是按预期的时间顺序推到了队列里面,所以是打印 2 的任务在打印 1 的任务之前被推入)。

(这整个代码块需要被视为是一整个宏任务,sleep() 执行完毕之前,宏任务队列里面的其他任务不会继续执行,但不代表宏任务队列不可以被推入新的任务。进入队列的时间不受 JS 阻塞的影响,JS 的阻塞影响的只有开始执行的时间)

啊,以防对于前面描述的宏任务的概念有些理解不到位,这里放个参考链接:
https://stackoverflow.com/questions/25915634/difference-between-microtask-and-macrotask-within-an-event-loop-context
2023-01-13 23:23:35 +08:00
回复了 edis0n0 创建的主题 Apple 你们会给 airpods pro 套保护套吗?
我挺确定 Airpods Pro 的耳机和盒子的耐摔程度是很高的,只要不一脚踩上去的话轻易不会有损坏。
至于充电盒刮花这种,多刮一阵子不就成亚面了嘛,不用计较。虽然卖得贵,但也当消耗品用吧,不然买了电子产品还要一直伺候,蛮憋屈的。
2023-01-13 18:04:52 +08:00
回复了 zhanglintc 创建的主题 问与答 下面这段 js 代码的输出应该是什么?
2023-01-13 18:02:45 +08:00
回复了 zhanglintc 创建的主题 问与答 下面这段 js 代码的输出应该是什么?
Javascript Promises are Eager and Not Lazy: https://tusharf5.com/posts/js-promises-eager-not-lazy/
(就是一楼所说的那个)

同样的题目我记得在掘金上面看到过一个细致的题解,客户端似乎没有浏览历史记录,所以链接也没法找了。
2023-01-13 17:05:02 +08:00
回复了 SchneeHertz 创建的主题 奇思妙想 禁止有线连接和无线连接的文件传输手段
@SchneeHertz
确实,这个界面提供的实时信息也很详细,顺便感受了一下 很 飞 快 的传输速度 (显示的实际实时速度是能达到 10 KB/s 以上的,取决于设备的二维码刷新率,但越往后的有效数据会越少,最后的个别分块会等待很久才能补齐)。

也就是说,确实不是不可行,不过现在常见的二进制文件体积少说也是数百 KB 起步,真用起来倒也挺不够带劲的。
2023-01-13 15:27:35 +08:00
回复了 SchneeHertz 创建的主题 奇思妙想 禁止有线连接和无线连接的文件传输手段
2023-01-13 00:29:54 +08:00
回复了 5ilhouette 创建的主题 问与答 Google 搜索经常搜出来一堆广告是怎么回事?
和内容农场一类的,热门内容的中文搜索结果不堪入目已经是日常了
2023-01-12 00:40:27 +08:00
回复了 zhengjian 创建的主题 信息安全 请帮忙测试这个帖子中的 XSS 是否有效
确认有效 (移动端 Safari)
贴吧网页版肯定是有维护的,往更烂的方向而已。以前不登陆可以无限制浏览,现在帖子的第二页开始所有楼中楼都全部不显示了。
扇区没覆写的话,DiskGenius 试过没,可以在之前的分区信息丢失的情况下按文件头进行文件扫描。但有个问题,一些固态硬盘对于文件删除或者格式化操作是有硬件层面的数据保护措施的,会同步将对应扇区复位。这种就没有办法恢复了。
不是这方面的专家,措辞和描述可能不一定准确,看个大概意思吧。
2023-01-11 02:00:59 +08:00
回复了 thisrabbit 创建的主题 AirPods 突然发现 AirPods Pro 可以调整提示音音量了
还真是,感谢分享。
这功能很早就有人在网上抱怨过了,Apple 居然拖了三年才给加进来…… 尤其是低电量的噔噔咚,在夜间环境很安静的情况下一直很吓人。
2023-01-07 12:38:24 +08:00
回复了 gowl 创建的主题 分享发现 我觉得现在流行的 UI 设计似乎留白太多了
@jinyang656 米家这个,感觉上是为了避免同屏按钮过多、给用户造成一种使用起来很复杂的错觉(不能高估普通用户的接受能力……)。它是做到了常用功能放置位置偏上的,还算合格。

OP 给的例子看上去则是有些典型的反面例子,IM 类界面参考 TG 或者 iMessage 的布局,消息密度也不会太密,从交流效率的角度来看会比这种一个屏幕只能显示三句话的布局要好很多,但要是硬说疏松的排版的好处的话,大概是会给用户一些亲切感,看上去简洁 (代价是低效)。
2023-01-06 18:06:11 +08:00
回复了 pdog18 创建的主题 问与答 如何克服肉食的不适感?
不要假定人以外的生物是有人格的,这个很重要,因为它们本身也确实没有。人类个体在人类社会中发展和成长的过程促使了人的意识的产生,无法被这个过程影响的动物个体怎么都是原始的。对这些个体,不要将人的情感强行加上去。

宠物也一样,只不过一般被当作宠物养的动物会培养出一定的对人的亲密性,不过这也不代表它们能够具有复杂的人格,仅仅只是在一些地方比较聪明。宠物会需要作为主人的人来保护好它们,因为一些不知道这个动物是正在作为宠物培养的人……可能会做出不好的事情。

极端动物保护组织那些反智的宣传就更别理了,那不叫什么同理心,就是蠢。

(以上仅个人观点)
2023-01-05 20:14:16 +08:00
回复了 zephyr1 创建的主题 问与答 闲,遂想做点东西
这个域名,整一个 404 静态页面生成器?
2023-01-01 00:40:01 +08:00
回复了 game159 创建的主题 问与答 如何安全的使用云备份自己的数字钱包助记词?
截图,然后跟自己的服务器登录密钥一起塞在桌面的一个文件夹里面,然后由 OneDrive 直接传到云上。
……反正电脑带个 BitLocker 。
我记性不行,所以如果我去用很复杂的方法去备份密码一类的东西,我把找回的方法忘掉的概率应该远大于密码本身泄漏的概率。
2022-12-31 23:31:40 +08:00
回复了 nztomoto 创建的主题 Apple Mac 笔记本系列为何一直没有数字小键盘
Blender 有一批小键盘可用的快捷键。不过硬说的话,需要小键盘的人毕竟还是少数,拿掉小键盘刚好还把常用的键盘区域居中了一下,更好用。需要的话就外接吧。
2022-12-30 14:56:21 +08:00
回复了 tool2d 创建的主题 前端开发 为什么要学 React/VUE?
"使用 React/VUE 框架,能较好的组织你的代码,但是并不能让你的程序跑的更快。"

……确实就是为了更好地组织代码和方便开发的。与 1L 说的一样,如果没有这两个架子在这,也就很难有那些大家喜闻乐见的组件库了(特指含交互控件的那种组件库,不是单纯 CSS 为主的库)。

然后,React/Vue 开发的应用有 view = f(state) 的特点,在 state 不发生变化的时候,页面不会占用额外的处理器资源来处理渲染相关事项。用户操作带来 state 变化、再进行重渲染,这样耗费的资源可以尽可能少。游戏那种按帧刷新的,放在常见的网页应用场景下面会有性能问题。
2022-12-30 12:47:21 +08:00
回复了 siknet 创建的主题 全球工单系统 我这种情况如何向腾讯申请域名解封?
QQ 的违规提示我记得就在那个页面里面的申诉入口提交了是会有人工处理的,结果会用邮件发回来。
2022-12-28 19:16:53 +08:00
回复了 lsy99 创建的主题 问与答 求助大佬,浏览器怎么实现定时执行
需求描述总觉得有点怪,但懒得管了。如果没办法用事件触发的话,在已知 Token 过期时间的前提条件下,看这个 👇
https://i.imgur.com/DZfoLVC.png

过期时间小于这个值,直接放一个定时器 (是 setTimeout) 伺候。超过就拆成多个叠起来:
setTimeout(() => setTimeout(() => { /* do something...*/ }, a), b);
a + b = 过期时间
1 ... 2  3  4  5  6  7  8  9  10  11 ... 14  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3165 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 32ms · UTC 13:12 · PVG 21:12 · LAX 06:12 · JFK 09:12
Developed with CodeLauncher
♥ Do have faith in what you're doing.