随笔分类 -  JS

包含一些学习JS中记录的笔记,或者是一些问题的解决方案。
摘要:Node.js利用单线程非阻塞的事件循环,通过委派耗时任务给系统内核来保证高效执行。它提供了多种异步API如setTimeout、setImmediate和process.nextTick,利用这些API可以优化代码性能,并避免阻塞。这篇文章探讨了Node.js事件循环的工作原理,旨在帮助开发者更好地理解和应用异步编程技术。 阅读全文
posted @ 2024-07-04 17:40 feixianxing 阅读(146) 评论(0) 推荐(0)
摘要:JavaScript 是一种弱类型语言,开发者经常需要判断变量的数据类型。本文介绍了 typeof、instanceof、Object.prototype.toString.call 等常用的判断方法,并讨论了 typeof null 返回 object 的历史原因。此外,还涵盖了如何判断箭头函数、async 函数和类。 阅读全文
posted @ 2024-06-30 22:36 feixianxing 阅读(143) 评论(0) 推荐(0)
摘要:RFC规范并没有指明HTTP协议的GET方法是否不能携带body数据,但是对于浏览器环境下的XHR和fetch API的规范来说,它们的规范限制了它们不能在GET中携带body,而postman或apifox等接口测试工具则由于不遵循这些规范而可以携带body。 阅读全文
posted @ 2024-06-23 22:50 feixianxing 阅读(764) 评论(0) 推荐(0)
摘要:文章介绍了package.json中依赖的版本号的含义,以及如何选择性地更新依赖版本。 阅读全文
posted @ 2024-06-23 12:43 feixianxing 阅读(137) 评论(0) 推荐(0)
摘要:JS中有一些操作可以动态地执行JS代码,并修改或新建词法作用域,这种操作虽然带来了更多的灵活性,但是会严重地影响到性能。 阅读全文
posted @ 2024-06-17 13:29 feixianxing 阅读(118) 评论(0) 推荐(0)
摘要:单例模式(Singleton Pattern)是最简单的设计模式之一。这种类型的设计模式属于创建型模式,提供了一种创建对象的最佳方式。主要在想控制实例数目,节省系统资源的时候应用。 阅读全文
posted @ 2023-12-16 16:38 feixianxing 阅读(613) 评论(0) 推荐(1)
摘要:TS中的类系统对比起JS完善了许多,知识点包括但不限于可访问性、继承类、实现接口、访问器、泛型、抽象类。 阅读全文
posted @ 2023-12-01 17:39 feixianxing 阅读(127) 评论(0) 推荐(0)
摘要:对象类型通常使用interface声明,可以设置属性为可选的或者只读的,可以设置索引签名。从简单类型生成复杂类型可以使用类型继承或者交集类型。提高类型的泛用性可以使用泛型。 阅读全文
posted @ 2023-11-30 16:17 feixianxing 阅读(94) 评论(0) 推荐(0)
摘要:TS中的函数需要声明参数列表和返回值的类型,除此只要,还有关于泛型、可选参数、不定长参数列表、回调函数、this、重载的声明规则。 阅读全文
posted @ 2023-11-30 14:17 feixianxing 阅读(94) 评论(0) 推荐(0)
摘要:一个变量如果声明为联合类型,而后续操作需要针对其具体的单一类型做不同处理,这个过程就叫做类型收窄(Narrowing) 阅读全文
posted @ 2023-11-29 22:53 feixianxing 阅读(231) 评论(0) 推荐(0)
摘要:JS 的大多数错误都只能在运行的过程中被发现,而 TS 可以在运行代码之前发现错误。 阅读全文
posted @ 2023-11-29 18:07 feixianxing 阅读(151) 评论(0) 推荐(0)
摘要:事件总线是对发布-订阅模式的一种实现。 发布-订阅模式定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都将得到通知。 发布-订阅模式实现了松耦合,发布者不是直接将消息发送给订阅者,而是经过了一个中间的代理,事件总线就是一种中间代理的实现。 阅读全文
posted @ 2023-11-25 14:20 feixianxing 阅读(314) 评论(0) 推荐(1)
摘要:简要记录watch和watchEffect的使用方法和注意事项 阅读全文
posted @ 2023-11-01 17:44 feixianxing 阅读(359) 评论(0) 推荐(0)
摘要:当用户输入网页路径,浏览器首先通过网络请求拿到html字符串,然后经过HTML解析、样式计算、布局、分层、绘制、分块、光栅化、画等过程,将页面的内容最终呈现到了屏幕上。 阅读全文
posted @ 2023-10-20 22:30 feixianxing 阅读(1579) 评论(2) 推荐(1)
摘要:本文以浏览器的进程和线程为切入点,以开源的Chromium为例,记录了前端中的事件循环。同时记录了一些面试题。关键词:队列,异步。 阅读全文
posted @ 2023-10-14 17:50 feixianxing 阅读(202) 评论(0) 推荐(0)
摘要:本文记录了webpack5的基础概念,以及部分常用的插件的使用方式。 阅读全文
posted @ 2023-10-01 20:57 feixianxing 阅读(416) 评论(1) 推荐(1)
摘要:作用域(scope)规定了变量能够被访问的“范围”,离开了这个“范围”变量便不能被访问。作用域分为:局部作用域和全局作用域。 阅读全文
posted @ 2023-09-19 21:40 feixianxing 阅读(115) 评论(0) 推荐(0)
摘要:defineExpose要在变量和方法声明定义之后再使用,否则浏览器的控制台会输出很多警告,并且最终将该页面卡死。 阅读全文
posted @ 2023-02-17 14:11 feixianxing 阅读(518) 评论(0) 推荐(0)
摘要:函数 基本概念 在JS中,函数实际上是对象,是Function类型的实例。 函数名是指向函数对象的指针。 function sum(num1, num2){ return num1 + num2; } // 检查sum是否是Function类型的实例 console.log(sum instance 阅读全文
posted @ 2022-11-08 17:00 feixianxing 阅读(226) 评论(0) 推荐(0)
摘要:this的指向问题 全局作用域 在JS中,全局的变量和函数附着在global对象上,全局对象在浏览器环境下是window对象。 在全局作用域中,this指向全局对象window。 console.log(this); // window对象 console.log(window); // windo 阅读全文
posted @ 2022-11-02 11:24 feixianxing 阅读(150) 评论(0) 推荐(0)