关于#javascript#的问题:这种javascript类型的代码是怎么样输出的呀

这种javascript类型的代码是怎么样输出的呀,输出的顺序呢?


console.log("1");

setTimeout(function() {
  console.log("2");
}, 0);

Promise.resolve().then(function() {
  console.log("3");
});

console.log("4");

//--------------------------------------------------------------------------------------------------
//下面代码的输出是什么?
setTimeout(function () {
  console.log(1);
});
new Promise(function(resolve,reject){
  console.log(2)
  resolve(3)
}).then(function(val){
  console.log(val);
})
console.log(4);

js的同步异步,宏任务与微任务去了解一下,这个不是几句话就可以说清楚的

  • 这有个类似的问题, 你可以参考下: https://ask.csdn.net/questions/338599
  • 这篇博客你也可以参考下:整理九道关于javascript字符串的笔试题
  • 除此之外, 这篇博客: javascript判断数据类型的几种方法中的 首先先回顾一下javascript的数据类型都有哪些? 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 基本数据类型:number,undefined,boolean,string,null
    复杂数据类型:object
    另外ES6中又新增了一个数据类型:Symbol

    1. undefined
      Undefined类型只有一个值,他就是undefined,声明变量但未赋值,这个变量的值就是undefined。
    2. null
      null就是声明了变量并给其赋值为null
    3. boolean
      该类型有两个可取值true和false
    4. string
      字符串
    5. number
      数值,跟其他语言不同的是他没有去细分是整数还是小数
    6. object
      object、Function、Date、Array、RegExp、Boolean、Number、String
    7. Symbol
      表示一个独一无二的值
  • 您还可以看一下 李广川老师的Javascript 动画入门实战课程课程中的 Javascript 动画课程介绍小节, 巩固相关知识点