安穩 2022-05-04 13:54:33
Number('1000000000').toLocaleString().replace(/,/g, '.')
安穩 2022-05-04 13:51:26
我们先看这段代码的结构,简化一下就是:
var p = (function _a(){ }(function _b(){ }()))
相当于先执行 _b 函数,然后将函数的执行结果作为参数传入 _a 函数
_b 函数为:
function (a, b) { return a; }
_b 函数执行
(function (a, b) { return a; }(1, 2))
函数返回 1,然后将 1 作为参数传入 _a,相当于:
function (a) { this.a = a; return function (b) { return this.a + b; } }(1)
变量 p 的值就是一个函数为:
function (b) { return 1 + b }
p(4) 的结果自然是 5
- 共 1 页
- 1
请教博主一个问题,烦请指教!当我反复查看html规范时候
规范里面说到event loop有多个task queues.一个task queue就是任务的列表,它们负责以下工作。
看里很久有两个疑惑,恳请解答
1.dispatching an event 不是浏览器有专门的线程监听各种事件吗?然后相应的event handler 会进入task queues.为什么规范里说:是任务队列Dispatching an Event。因为任务队列里的任务都会被JavaScript engines执行,也就是说是JavaScript engines在触发事件?
2.html解析不是通过渲染引擎来解析的吗,怎么这里又说是JavaScript engines解析?在一次event loop中,如果页面需要更新。这时候会停止JavaScript引擎,启动渲染引擎来更新页面吗?
谢谢了
@creeperyang
从 Promise 来看 JavaScript 中的 Event Loop、Tasks 和 Microtasks