传奇手游全部平台_三端传奇开服网址大全下载_三端传奇版本下载教程

240 发简信
IP属地:广东
  • 重新理了下思路,觉得作者还是要把编译环境写出来,不然很容易导致误解。
    1. 浏览器标准环境中(比如说谷歌webkit内核),是一个宏任务紧接着所有微任务执行。
    2. 在node环境中,则又不一样了,是一个类型宏任务队列执行完,再去执行微任务。

    自己运行一下代码,就可以发现了。
    不知道这样理解是否正确,还有想问一下作者,为什么执行完setImmediate的所有微任务,才算是第二轮结束,这里觉得比较匪夷所思。

    前端基础进阶(十四):深入核心,详解事件循环机制

    JavaScript的学习零散而庞杂,很多时候我们学到了一些东西,但是却没办法感受到进步!甚至过了不久,就把学到的东西给忘了。为了解决自己的这个困扰,在学习的过程中,我一直在...

  • 我也是觉得有矛盾的地方,觉得很奇怪,而且循环结束的那个结点也让人匪夷所思,请问你找到正确的答案了吗?

    前端基础进阶(十四):深入核心,详解事件循环机制

    JavaScript的学习零散而庞杂,很多时候我们学到了一些东西,但是却没办法感受到进步!甚至过了不久,就把学到的东西给忘了。为了解决自己的这个困扰,在学习的过程中,我一直在...

  • node 和 chrome 的事件循环顺序是不一样的吗?
    文中:
    事件循环的顺序,决定了JavaScript代码的执行顺序。它从script(整体代码)开始第一次循环。之后全局上下文进入函数调用栈。直到调用栈清空(只剩全局),然后执行所有的micro-task。当所有可执行的micro-task执行完毕之后。循环再次从macro-task开始,找到其中一个任务队列执行完毕,然后再执行所有的micro-task,这样一直循环下去。

    注: macro-task 执行一个任务完毕 然后执行完micro-task

    但是在demo2 解释中 写到 :
    只有当setTimeout中所有的任务执行完毕之后,才会再次开始执行微任务队列。并且清空所有的可执行微任务。

    这样有矛盾。

    demo2 在chrome执行(去除了setImmediate 和 process.nextTick)
    code:
    console.log('golb1');
    setTimeout(function() {
    console.log('timeout1');
    new Promise(function(resolve) {
    console.log('timeout1_promise');
    resolve();
    }).then(function() {
    console.log('timeout1_then')
    })
    })

    new Promise(function(resolve) {
    console.log('glob1_promise');
    resolve();
    }).then(function() {
    console.log('glob1_then')
    })
    setTimeout(function() {
    console.log('timeout2');
    new Promise(function(resolve) {
    console.log('timeout2_promise');
    resolve();
    }).then(function() {
    console.log('timeout2_then')
    })
    })
    new Promise(function(resolve) {
    console.log('glob2_promise');
    resolve();
    }).then(function() {
    console.log('glob2_then')
    })
    结果:
    golb1
    glob1_promise
    glob2_promise
    glob1_then
    glob2_then
    imeout1
    imeout1_promise
    imeout1_then
    timeout2
    timeout2_promise
    timeout2_then

    node(v7.7.1 原demo2 没修改) 执行情况
    golb1
    glob1_promise
    glob2_promise
    glob1_nextTick
    glob2_nextTick
    glob1_then
    glob2_then
    timeout1
    timeout1_promise
    timeout2
    timeout2_promise
    timeout1_nextTick
    timeout2_nextTick
    timeout1_then
    timeout2_then
    immediate1
    immediate1_promise
    immediate2
    immediate2_promise
    immediate1_nextTick
    immediate2_nextTick
    immediate1_then
    immediate2_then

    请问这怎么解释?

  • 120
    前端基础进阶(十四):深入核心,详解事件循环机制

    JavaScript的学习零散而庞杂,很多时候我们学到了一些东西,但是却没办法感受到进步!甚至过了不久,就把学到的东西给忘了。为了解决自己的这个困扰,在学习的过程中,我一直在...

  • 120
    移动端开发中,关于适配问题的一点总结(一)

    我们第一次接触移动web的时候,直观印象样应该是:屏幕比pc小很多,所以对pc端设计的界面,不一定(或者说不完全)能很好的适用到移动端。 下面这段代码,做过移动端项目的同学一...

  • :grin: 来个沙发

    JavaScript之原型链的解读

    在JavaScript中,原型链作为一个基础,老生长谈,今天我们就来深入的解读一下原型链。 本章主要讲的是下面几点,可以根据需要进行阅读: 函数与对象 对于prototype...

  • 120
    JavaScript之原型链的解读

    在JavaScript中,原型链作为一个基础,老生长谈,今天我们就来深入的解读一下原型链。 本章主要讲的是下面几点,可以根据需要进行阅读: 函数与对象 对于prototype...

  • @这要取什么 跨域的话设置header,后台也要做相应的处理,还有要设置"withCredentials:true",不然cookie是发不过去的

    Vue.js学习系列三 —— axios中文文档

    在学习了之前的路由vue-router和状态管理vuex之后,就应该是网络交互了。就学习尤大推荐的axios了。刚好本人对网络请求这块除了会get、put、post和dele...

  • 120
    vue-cli入门(二)——项目结构

    前言 在上一篇项目搭建文章中,我们已经下载安装了node环境以及vue-cli,并且已经成功构建了一个vue-cli项目,那么接下来,我们来梳理一下vue-cli项目的结构。...

  • 关于mongoose返回的数据无法修改的原因以及解决方法

    我们在使用Mongoose的时候,或许大家都会发现回调返回的result无法进行修改,Google了一下,现把方法记录下来供有需要的同学参考一下。 代码我就不贴了,能遇到这个...

  • 关于mongoose返回的数据无法修改的原因以及解决方法

    我们在使用Mongoose的时候,或许大家都会发现回调返回的result无法进行修改,Google了一下,现把方法记录下来供有需要的同学参考一下。 代码我就不贴了,能遇到这个...

  • 深入理解relative

    该文章总结自张鑫旭慕课,以及自己的使用经验和建议。 relative的具体作用 relative限制absolute限制偏移(绝对定位根据相对定位元素进行偏移)与overfl...

  • 深入理解absolute

    该文章总结自张鑫旭慕课,以及自己的使用经验和建议。 绝对定位absolute使用建议 建议无依赖相对定位relative来使用,需要用到偏移的时候用到margin值来实现,同...