![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
es6
哑山
活泼好动
展开
-
js 原型
什么是原型js对象中的_proto_就是原型,一级一级的原型嵌套,就叫原型链Object.getPrototypeOf 方法可以获取对象的原型。可以创建一个没有原型的对象,let n = Object.create(null,{})原创 2021-05-28 22:34:06 · 64 阅读 · 0 评论 -
promise 的原理
promise是es6的一个对象它用来描述一个异步操作的结果值拥有三个状态待定(pending): 初始状态,既没有被兑现,也没有被拒绝。已兑现(fulfilled): 意味着操作成功完成。已拒绝(rejected): 意味着操作失败。它通过.then()方法来处理结果,处理结果后,仍然返回一个promise对象 const pa = new Promise((re, je) => { // re("成功"); je("gg"); })原创 2021-05-24 20:04:04 · 194 阅读 · 0 评论 -
后盾人 宏任务微任务,任务调度流程课程笔记
宏任务与微任务问:js是否分同步与异步?具体是什么样子的?答:js是单线程语言,分为主线程与任务队列。同步的在主线程里执行,当主线程的任务执行完毕,会轮询任务队列里的任务,有的话拿到主线程去执行,没有的话,就不做。问:什么是微任务与宏任务?答:微任务也是异步队列,遵循上述的机制。但是他的优先级比宏任务高,会优先被轮询并执行。定时器的任务编排问:定时器的时间在哪里计算的?答:定时器模块里,在时间到的时候,把定时器任务(回调函数)放到任务队列里。问:定时器的任务是时间到了立刻执行吗?或者是主线原创 2021-05-19 20:15:35 · 157 阅读 · 0 评论 -
微任务 宏任务 定时器模块 到底是啥?
任务队列js代码中有三个队列,同步队列,宏任务队列,微任务队列。已知js是单线程语言,它在遇到同步任务时会直接执行,遇到异步代码时,会区分成宏任务(setTimeout-定时器模块、事件回调函数) 和 微任务(promise、async await)。所以,执行优先级就是 同步任务 > 微任务 > 宏任务。上代码setTimeout(() => { console.log("我是宏任务");});Promise.resolve().then(function () {原创 2021-05-19 16:26:34 · 697 阅读 · 0 评论 -
es6 有趣的运算符(持续更新中)
ES6新增的运算符?. (可选链,替代 && )const a = {}console.log(a?.b)/* 上表达式等价于 ====>*/console.log(a.b !== undefined && a.b!== null ? a.b : undefined作用:安全的使用值为null 或 undefined 的属性。如果不用这个,会引发js报错,终断整个项目进程。??(双问号,替代 || )const a = {}console.log(a.原创 2021-05-18 10:14:59 · 131 阅读 · 0 评论