![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JavaScript
文章平均质量分 69
随风而逝的三四
这个作者很懒,什么都没留下…
展开
-
JavaScript词法:为什么12.toString会报错?
WhiteSpace 空白字符LineTerminator 换行符Comment 注释Token 词IdentifierName 标识符名称,典型案例是我们使用的变量名,注意这里关键字也包含在内了。Punctuator 符号,我们使用的运算符和大括号等符号。NumericLiteral 数字直接量,就是我们写的数字。StringLiteral 字符串直接量,就是我们用单引号或者双引号引起来的直接量。Template 字符串模板,用反引号` 括起来的直接量。原创 2022-10-15 14:42:39 · 112 阅读 · 0 评论 -
一文教会你同步 - 异步(事件循环,微任务,宏任务)
虽然JS是单线程,但是浏览器是多线程的,在遇到像setTimeout、DOM事件、ajax等这种任务时,会转交给浏览器的其他工作线程(上面提到的几个线程)执行,执行完之后将回调函数放入到任务队列。在这期间,每次都会查看任务队列有没有需要执行的任务(回调函数)。也就是说执行微任务队列 会将队列中的所有微任务执行完 而执行宏任务队列 每次只执行一个宏任务 然后重新开始下一个循环。以下代码会输出2、3、1,像这种不按顺序执行的,或者说代码执行中间有时间间隙的,叫异步。任务队列又分微任务队列和宏任务队列。原创 2022-10-15 08:30:00 · 79 阅读 · 0 评论 -
前端下载二进制流文件
平时在前端下载文件有两种方式,一种是后台提供一个 URL,然后用下载,另一种就是后台直接返回文件的二进制内容,然后前端转化一下再下载。由于第一种方式比较简单,在此不做探讨。本文主要讲解一下第二种方式怎么实现。原创 2022-10-14 20:11:03 · 1914 阅读 · 0 评论 -
JavaScript对象:你知道全部的对象分类吗?
这样的规则造成了个有趣的现象,如果我们的构造器返回了一个新的对象,那么new创建的新对象就变成了一个构造函数之外完全无法访问的对象,这一定程度上可以实现“私有”。这些字段使得原型继承方法无法正常工作,所以,我们可以认为,所有这些原生对象都是为了特定能力或者性能,而设计出来的“特权对象”。函数对象的定义是:具有[[call]]私有字段的对象,构造器对象的定义是:具有私有字段[[construct]]的对象。通过这些构造器,我们可以用new来创建新的对象,所以我们把这些对象称作原生对象。原创 2022-09-23 09:45:00 · 242 阅读 · 0 评论