03 2023 档案
摘要:判断数组的方式有哪些 通过Object.prototype.toString.call()做判断 Object.prototype.toString.call(obj).slice(8,-1) 'Array'; 通过原型链做判断 obj.__proto__ Array.prototype; 通过ES
阅读全文
摘要:nodejs是单线程执行的,同时它又是基于事件驱动的非阻塞IO编程模型。这就使得我们不用等待异步操作结果返回,就可以继续往下执行代码。当异步事件触发之后,就会通知主线程,主线程执行相应事件的回调。 以上是众所周知的内容。今天我们从源码入手,分析一下nodejs的事件循环机制。 nodejs架构 首先
阅读全文
摘要:作用域 作用域: 作用域是定义变量的区域,它有一套访问变量的规则,这套规则来管理浏览器引擎如何在当前作用域以及嵌套的作用域中根据变量(标识符)进行变量查找 作用域链: 作用域链的作用是保证对执行环境有权访问的所有变量和函数的有序访问,通过作用域链,我们可以访问到外层环境的变量和 函数。 作用域链的本
阅读全文
摘要:此处如无特殊指出的话,event loop的语境都是指nodejs 本文研究所用的nodejs环境是:操作系统window10 + nodejs版本号为v12.16.2 什么是event loop? event loop是指由libuv提供的,一种实现非阻塞I/O的机制。具体来讲,因为javascr
阅读全文
摘要:setTimeout、Promise、Async/Await 的区别 (1)setTimeout console.log('script start') //1. 打印 script start setTimeout(function(){ console.log('settimeout') //
阅读全文
摘要:jwt是json web token的简称,本文介绍它的原理,最后后端用nodejs自己实现如何为客户端生成令牌token和校验token 1.为什么需要会话管理 我们用nodejs为前端或者其他服务提供resful接口时,http协议他是一个无状态的协议,有时候我们需要根据这个请求的上下获取具体的
阅读全文
摘要:Iterator迭代器 Iterator(迭代器)是一种接口,也可以说是一种规范。为各种不同的数据结构提供统一的访问机制。任何数据结构只要部署Iterator接口,就可以完成遍历操作(即依次处理该数据结构的所有成员)。 Iterator语法: const obj = { [Symbol.iterat
阅读全文
摘要:node.js 初探 Node.js 是一个 JS 的服务端运行环境,简单的来说,它是在 JS 语言规范的基础上,封装了一些服务端的运行时对象,让我们能够简单实现非常多的业务功能。 如果我们只使用 JS 的话,实际上只是能进行一些简单的逻辑运算。node.js 就是基于 JS 语法增加与操作系统之间
阅读全文