JavaScript 理解 2:事件循环、异步
继续整理一点对 JS
知识点的理解。或许一篇算一股,集齐八篇就能召唤点什么了(?)
作为一般通过前端,某种程度可以说这种技术本身就是随着性能飞升的红利崛起的,很多时候很少会考虑到靠近底层的东西。所以理解可能还是非常有限。然而,我写这个文章主要还是想到「把知识点讲一遍」是最好的复习方式,于是就用这个办法讲给自己。
一些事件是异步的。比如计时、与服务器交互…,它们可能需要等待一定的时间或者带来延迟。在它们面前,你有这么高速运转的同步事件(指立即执行),它不会默认就按照代码的先后顺序来等异步事件结束。所以问题来了:
怎么处理异步?
这些异步事件是怎么延迟的,记住它给出的原理(逃,这下还真是,读代码题已经品鉴的够多了。。。。
怎么处理异步?
看 JavaScript.info,提到第 11
章的时候出现了三种不同的处理异步的方法:callback、promise
和 async / await,但是品鉴这种东西的时候基本上很少见到
callback。
原因其实也很简单,它可以完美的产生回调地狱。
123456789101112131415161718192021 ...
简单的一点 JavaScript 理解:函数、对象、执行上下文、this
近期面一下前端,整理一下自己对一些知识点的理解。
每个人都知道(逃),JavaScript 有两类数据类型:基本 和 引用
数据类型。
基本类型数据保存在在栈内存中;引用类型数据保存在堆内存中,而它的变量是一个指向堆内存中实际对象的引用,存在栈中。所以只使用
=
赋值,它无法做到深层的拷贝。所以就有了深拷贝和浅拷贝的机制,区别在是否开拓一个新的栈,从而隔离拷贝出来的新对象。
对象、函数之类的数据就属于引用数据类型。
而原型链的机制和各种各样的设计,意味着 JS
当中对象和函数是不分家的。函数是 Function
对象的一个实例,可以作为参数、返回值,可以被赋值给变量,也可以被函数修改,返回一个新的函数(装饰器)…
作为存在面向对象特性的语言,this 在 JavaScript
当中也存在。this
关键字是函数运行时自动生成的一个内部对象,只能在函数内部使用,总指向调用它的对象。在函数执行过程中,this一旦被确定了,就不可以再更改。
上下文、this、闭包
然而,this
的值不由对象决定,而由代码执行时调用它的上下文实时决定。。。
优先级的顺序是:( ...
2023 的一点各种各样的个人总结
说起来这个总结马上到龍年之前才完成,实际上还是没活可整才拖沓成这样。首先是
SDVX VF 19
那天写了半拉,然后是嗯造两份奶茶之后想了想注定是个不眠之夜了,在回家的列车上感慨万分而写下来半拉,剩下这部分正好是兔年最后一天,在家被人类幼崽拷打之后完成的东西。
本来在让我 gap
的时间段其实就应该写一篇这样的东西,但是我一度无从下手。然而这段时间发生的事情确实非常独特,让我感到非常值得一写。
音游
2022
2022 年没什么可以总结的。
首先是 SDVX 长期瓶颈了,也没什么底力提升可谈,Volforce 也长期在 18.6
左右。
在去年四月我结束了 gap 状态,回到学校之后顺便开始推 maimai
DX。由于反复的疫情影响,出勤过程相当繁琐。到六月份经过大概 180 PC 到达
6600 Rating,在国服到达彩框水平。
到夏天看到了阿卡抑大结局,其实在玩到 Live Fast Die Young
的时候就有想要退坑的感觉,谱面走向了混乱邪恶之后就感觉自己跟不上这游戏的节奏了。看完这个主线的结局,对之前剧情的猜测画上了一个句号,也算得上合理;而它 ...
一点音游相关的个人总结
这两天 SDVX 达到 Volforce 19
了,非常感慨,于是想写一个「年终」总结出来。一方面,我终于成功的感受到自己音游天赋的瓶颈,对「提升」这一过程的祛魅也使得游玩变得休闲了起来。这个时候,发觉到在这些内容背后的文化其实也很有意思,很多东西值得考究。本来在让我
gap
的时间段其实就应该写一篇这样的东西,但是我人懒,鸽来鸽去一直到今天,于是趁这两天非常想码点字的状态下,就把
2022 和 2023 年的总结一起写出来了。
2022
2022 年没什么可以总结的。
首先是 SDVX 长期瓶颈了,也没什么底力提升可谈,Volforce 也长期在 18.6
左右。
在去年四月我结束了 gap 状态,回到学校之后顺便开始推 maimai
DX。由于反复的疫情影响,出勤过程相当繁琐。到六月份经过大概 180 PC 到达
6600 Rating,在国服到达彩框水平。
到夏天看到了阿卡抑大结局,其实在玩到
Live Fast Die Young
的时候就有想要退坑的感觉,谱面走向了混乱邪恶之后就感觉自己跟不上这游戏的节奏了。看完这个主线的结局,对之前剧情的猜测画上 ...
「电〇生存手册(1)」为什么跟着老师的配置还会 kernel panic
写在前面
这篇文章属于是小孩子不懂事写着玩的(误),基本上只有一些心得和暴论啥的。想到这会笔者把内容都已经拖到大三了,连仅存的参考意义都没有了,唉,拖延症,
总之这文章充满暴论中的暴论(乐),如果有人从我这里确实能获得参考或者收获,那也挺好,属于是无心插柳柳成荫。
操作步骤直接看后面就行,咱认为这样的教程应该先让人跑起来,而不是抽象的讲来讲去各种原理,真正上手的时候只给一小段操作教程。
借助了一点 new Bing
和前辈的经验,我们注定要成为教学事故的操作系统实验在一通诡辩当中混过去了,这个月又是社团事务又是新冠复阳又是计划财务处发癫不给我发经费又是四门实验又要期末复习,屋漏偏逢连夜雨,月末只有几百块钱的我要交手办尾款,本来混过去之后想出勤打
mai
来庆祝,看到西安这个天天都在下雨的傻卵天气,就寻思窝在宿舍里写博客吧,省省钱不好吗。。。
写这篇文章的原因就是,我真的受不了直到 3022
年我们操作系统实验老师还在用 Ubuntu 10 搭配远古时期的
VMware,这真的不能忍——
看着电脑里面复杂的 Hyper-V
预设,即使关闭了,也无法彻底完全关闭 ...
Arcaea —— 虚空之旅;好、坏、丑
以下内容包含严重剧透。阿卡抑 4.0
版本结局。严格上说是狗尾续貂,下面的内容具有时限性,不代表笔者现在的观点。
Down the Rabbit Hole
说实话我是入坑阿卡抑的同时入坑音游的。2018
年的春天,作为高中生的我看到 B 站有大量的宣传,又觉得他这个 PV
非常酷炫,于是就入坑了。那个时候对同人电子音乐这类东西了解也浅,他脑吸也没感觉像现在这样,心想「哇,这个游戏居然有这么多
J-core」于是就买了绿包。
最早打起来确实觉得这游戏「真的好神奇」啊,虽然中途也入坑了
Cy2、马老弟、屁股肉这些移动端 IN YO
的社群(虽然很快都结束了),但这个游戏给人的感受更独特。毕竟自己以前玩过一点
4K 类型的游戏,就感觉他这个模式是一个奇妙的衔接,配合独特的 UI
和美少女,很难找到和它惊艳程度相同的游戏。
当时本来也没太多时间玩,爬梯子、盼望着剧情光和对立的相遇,对这个游戏的未来发展保持着好奇。
2020 年初 Black Fate 更新,这个游戏更新到了 3.0
版本。当时感觉到曲师阵容越来越豪华了,TG
和山茶花也出现在了曲包里。等级的划分给 ...
RDR2 -- 一个关于「救赎」的寓言
*本文包含重度剧透。没玩过但有 100h
时间计划投入到一款游戏当中的人、只要显卡是 1063 / 970
水平就找到好机会入手吧,至少从 PC
端能玩到的时候算起,到今天都很难找到超越它的作品。我推荐可以适应节奏比较休闲、想体验极致的剧情的人都来玩。
我默认看到这篇文章的人、已经在我的安利下主线剧情结束了。下面的内容包含重度剧透,如果没玩过请不要看。
为什么推荐
极限的真实
呼和浩特疫情这两个月的时候,我升级显卡到可以喂饱 2K
游戏的水平了。这个时候发现 Epic 好价入的大表哥
2,最早接受了一点安利,于是直接开玩。
有些地方游玩也很有意思,在极其逼真的大地上骑马驰骋、打猎;在荒野上探索广袤的米国大地。游戏剧情结束之后也是西部生活模拟器。
游戏的画面已经非常次世代了,不依赖光追来实现大量的光影效果,给设备也带来了不少压力。画面极其牛逼,细节极其逼真,可以生动地看马拉屎,一些
NPC 也做得非常生动。
登峰造极的剧情
实际上最早的时候感觉这个游戏节奏很慢,也记不清楚这些人长什么样或者是怎么的,然后就是骑马在
R
星搭建的炉火纯熟的场景当中漫游。直到亚 ...
装机 DIY 踩坑
前段时间入手了一个先马趣造机箱。从此之后对 DIY
的一套花里胡哨的事情开始一发不可自拔的投入了起来。即使机箱也就花了 200
块钱,但明显感觉到这玩意装起来之后,视觉感受和一般的、没法装进我行李箱的
M-ATX 箱子是不一样的。从去年 8 月到现在这 8
个月以来,这一套东西终于整到了比较令人满意的阶段。
2023
后续:情况有变,笔记本电脑也无了,就台式电脑配好了。。。。唉,低温锡;这大概是唯一一个感觉能称得上有点含金量的电子产品方案了,唉,
装机 DIY 踩坑
我觉得自己是完美的负面教材。
我觉得我是电子丁真,遇到了奇妙的电子产品动物朋友们,不得不说真是一件美逝啊(咬牙切齿)
错失万元
在 2020 年 11
月,我第一次作为大一的学生踏入了校园,这个时候双十一抢了一个史低的内存条和
4700 块钱的 3070
显卡。由于我资金也比较紧缺,那个时候犹豫是否要当一次「债务奴隶」,最后因为这样分配得连着吃半年土,这一套就此作罢。
2021
年初矿潮来了!这个时候我想抽自己一个大嘴巴子,这一套东西后来可以卖上万,而在显卡降价的今天可以配一台
12600 ...
「未完成」VSCode 配 C++——使用 MinGW、Makefile / CMake 的全家桶配置
最近要学 CSAPP,考虑到这门神课的 lab,最早跟着数据结构基础 / leetcode
一点简单题敲的时候用的基础的 VSCode & MinGW
的模式不能适配这样的新状态。针对复杂起来的工程,不能再简单的使用 .h
来穿插在一个单独的 .cc 文件当中,所以需要一个构建工具。同时,针对 MinGW
和这套文本编辑器,以后到 lab
很复杂的时候,也在这篇博客里面标记一下。
先从 VSCode 配置 C
说起,毕竟你校一帮人觉得就是纯粹的浪费时间,要让信息不对称的新同学强行咽下
Dev C++
这颗苦果。作为开发工具界面重度婆罗门的我,即使根本没太多「软件工程」的意识和水平,但得益于好工具带来的惊天动地的效率提升,必须得把它给翻译过来怼你脸上——和这样的虫豸在一起怎么能写好代码呢?(指连工具都非常陈旧,更不用谈现代化的一些东西和学习的方法论)
Using GCC with MinGW
在 VSCode 上安装 C / C++ 扩展(Ctrl + Shift +
X)。接下来的步骤就开始通过 MSYS2 安装编译器 MinGW-x64。
安装包 ...
[半弃坑] Telegram Bot 的一点问题(1) -- 为什么搭了梯子没反应、查询 ID 和老黄历
发现没啥功能想继续实现的。也没有实际用途,弃坑了。
操作
在 Telegram 联系 @BotFather 来获取一个 bot。得到它的 API
token 来操作。
这里使用了基于 Python 的 pyTelegramBotAPI。
https://github.com/eternnoir/pyTelegramBotAPI
先写一个 /start 对应的命令,于是咱参考了「Writing Ur first
bot」中的部分,于是内容是
12345678910111213141516171819import telebot#from telebot import apihelper#apihelper.proxy = {'https': 'socks5h://地址:端口' }bot = telebot.TeleBot(‘TOKEN’, parse_mode=None) #@bot.message_handler(commands=['start'])def send_welcome(mes ...