当前位置: 首页 > news >正文

javascript 补充的一些知识点

函数对象与实例对象

  • 函数对象
    将函数作为对象使用时,简称为函数对象
  • 实例对象
    new 函数产生的对象,简称为对象
function Fn(){  //Fn 函数}
const fn= new Fn(); //此时的Fn是构造函数 ,fn 是实例对象(简称对象)
console.log(11,Fn.prototype) // Fn是函数对象
Fn.bind({}) // 这个是函数对象调用的方法

JS 的error 处理

类型

  • Error
    所有错误的父类型
  • ReferenceError
    引用的变量不存在
  • TypeError
    数据类型不正确的错误
  • RangeError
    数据值不在其所允许的范围内
  • SyntaxError
    语法错误

错误处理

  • 捕获错误
try{}catch(e){
}
  • 抛出错误
throw 

错误对象

  • message属性
    错误相关信息
  • stack属性
    函数调用栈记录信息

JS 异步之宏队列与微队列

在这里插入图片描述
在 JavaScript 的异步机制中,宏队列(Macro Task Queue) 和 微队列(Micro Task Queue) 是两个非常重要的概念,它们决定了异步代码的执行顺序。

事件循环(Event Loop)

JavaScript 是单线程的,它通过 事件循环(Event Loop) 来处理异步任务。事件循环的大致过程如下:
1. 执行全局同步代码(主线程执行栈)。
2. 清空 微队列。
3. 执行一个 宏任务(从宏队列取出)。
4. 清空 微队列。
5. 重复 3-4。

微队列(Micro Tasks)

常见的微任务来源:
• Promise.then / catch / finally
• MutationObserver
• queueMicrotask

微任务的特点是:在当前宏任务执行完后立即执行,优先级高于宏任务中的其他异步任务。

宏队列(Macro Tasks)

常见的宏任务来源:
• setTimeout
• setInterval
• setImmediate(Node.js)
• MessageChannel
• I/O 操作
• requestAnimationFrame(浏览器专用)

宏任务的特点是:每轮事件循环只会执行一个宏任务,之后才会执行微任务。

执行顺序示例

下面是一个典型的例子:

console.log('start');setTimeout(() => {console.log('setTimeout');
}, 0);Promise.resolve().then(() => {console.log('promise');
});console.log('end');

执行顺序解析:
1. 输出 ‘start’
2. 注册 setTimeout(宏任务)
3. 注册 promise.then(微任务)
4. 输出 ‘end’
5. 清空微队列,输出 ‘promise’
6. 执行 setTimeout 回调,输出 ‘setTimeout’

最终输出顺序:

start
end
promise
setTimeout

在这里插入图片描述

相关文章:

  • 利用混合磁共振成像 - 显微镜纤维束成像技术描绘结构连接组|文献速递-深度学习医疗AI最新文献
  • Element-UI字体图标不显示
  • Jedis高版本的JedisPoolConfig没有maxActive和maxWait
  • Java中的反射
  • T-SQL在SQL Server中判断表、字段、索引、视图、触发器、Synonym等是否存在
  • MCP协议将颠覆传统数据集成
  • 2025-05-09 提示学习概念
  • QML AnimatedImage组件详解
  • 【动手学大模型开发 20】使用 Streamlit 部署大模型 RAG应用
  • C++跨平台开发实践:深入解析与常见问题处理指南
  • 西门子PLC串口转网口模块:工业通信的智能桥梁
  • 25FIC初赛(介质)
  • BUUCTF——杂项渗透之赛博朋克
  • 视频流:大华及海康视频流本地测试预览
  • 单调栈所有模版类型(4)
  • Windows11下通过Docker安装Redis
  • A2A与MCP定义下,User,Agent,api(tool)间的交互流程图
  • 工业相机的作用及未来发展
  • spring ai alibaba ChatClient 获取大模型返回内容的方式 以及使用场景
  • 多分类问题softmax传递函数+交叉熵损失
  • 总粉丝破亿!当网络大V遇见硬核科技,互联网时代如何书写上海故事?
  • 【社论】职业上新,勇于“尝新”
  • 国家主席习近平在莫斯科出席红场阅兵式
  • 一周文化讲座|城市移民与数字时代的新工作
  • 近4小时会谈、3项联合声明、20多份双边合作文本,中俄元首今年首次面对面会晤成果颇丰
  • 欧盟公布关税反制清单,瞄准美国飞机、汽车等产品