首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

node.js -3- 基本语法

本文记录 node.js 最基本语法。 数据类型 Node.js有一些核心类型:number,boolean,string,object、undefined 和 function。...i <= 10; i ++) { if (i == 8) { break; // 终止所有循环,跳出循环代码,但是不会执行 循环迭代语句 (i ++); }...Split 要将字符串拆分为子字符串,请使用split函数并获取数组作为结果: var s = "a|b|c|d|e|f|g|h".split("|"); console.log(s); -> ['a'...slice() 提取字符串片断,并在字符串中返回被提取部分。 split() 把字符串分割为字符串数组。 substr() 从起始索引号提取字符串中指定数目的字符。...垃圾回收 一个对象如果没有任何引用变量指向这个对象会被判定为垃圾对象; 在特定时期js解释引擎会回收复杂对象内存; 垃圾回收 没有任何变量,保存这个对象引用; 在特定时候,由js解释引擎(v8

84520

【笔记】如何获得前端offer

使用replace方法不会向history添加记录,而是替换掉当前history记录。...b() { // 当b被调用时 x=3; // 全局变量x被赋值为3,不生成全局变量 y=4; // 已经在外部函数y变量 被赋值为4,不生成全局变量...z=5; // 创建全局变量z,并赋值为5 // 在严格模式下,会抛出ReferenceError } b(); // 调用b时创建了全局变量z console.log(x,z);...labeled语句 一个label提供一个可以让你引用到您程序别的位置标识符。 for...in语句,循环一个指定变量循环一个对象所有可枚举属性。...for...of和for...in两种循环语句之间区别: for...in循环遍历结果是数组元素下标 for...of遍历结果是元素函数声明:一个函数定义,也称为函数声明,或函数语句,

5.5K20
您找到你想要的搜索结果了吗?
是的
没有找到

【高能笔记】如何获得令人心动前端offer

使用replace方法不会向history添加记录,而是替换掉当前history记录。...b() { // 当b被调用时 x=3; // 全局变量x被赋值为3,不生成全局变量 y=4; // 已经在外部函数y变量 被赋值为4,不生成全局变量...z=5; // 创建全局变量z,并赋值为5 // 在严格模式下,会抛出ReferenceError } b(); // 调用b时创建了全局变量z console.log(x,z);...labeled语句 一个label提供一个可以让你引用到您程序别的位置标识符。 for...in语句,循环一个指定变量循环一个对象所有可枚举属性。...for...of和for...in两种循环语句之间区别: for...in循环遍历结果是数组元素下标 for...of遍历结果是元素函数声明:一个函数定义,也称为函数声明,或函数语句,由一系列

2.5K10

探索异步迭代器在 Node.js使用

行 {6} eventHandler() 函数就是上面注册监听器函数 listener 当有事件触发时执行该监听器函数,与异步迭代器结合就在这里,当有新事件触发时会从 unconsumedPromises...行 {3} 如果迭代器对象完成,返回 Promise 对象 done 属性设置为 true,遍历器也就结束变量 finished 是由 iterator 对象 return() 方法被调用之后设置..., 当我们触发一个事件时才会在监听器函数里执行这个 resolve 函数,此时才会被释放,之后 for await...of 遍历器会自动再次执行 next() 方法,然后 new 一个 Promise...,重点是它通过原型方式继承 Stream 模块 Readable 构造函数。...image.png 查询 books 集合所有数据,以下代码中定义 myCursor 变量就是游标对象,它不会自动进行迭代,可以使用游标对象 hasNext() 方法检测是否还有下一个,如果有则可以使用

7.5K20

Node.js这几个场景都可以使用异步迭代器

行 {6} eventHandler() 函数就是上面注册监听器函数 listener 当有事件触发时执行该监听器函数,与异步迭代器结合就在这里,当有新事件触发时会从 unconsumedPromises...行 {3} 如果迭代器对象完成,返回 Promise 对象 done 属性设置为 true,遍历器也就结束变量 finished 是由 iterator 对象 return() 方法被调用之后设置...,** 当我们触发一个事件时才会在监听器函数里执行这个 resolve 函数,此时才会被释放,之后 for await...of 遍历器会自动再次执行 next() 方法,然后 new 一个 Promise...,重点是它通过原型方式继承 Stream 模块 Readable 构造函数。...变量就是游标对象,它不会自动进行迭代,可以使用游标对象 hasNext() 方法检测是否还有下一个,如果有则可以使用 next() 方法访问数据。

3.7K40

深入学习 Node.js Module

模块出现循环依赖,会出现死循环么? require 函数支持导入哪几类文件? require 函数执行主要流程是什么? 在这次旅程结束后,希望小伙伴对上述问题,能够有一个较为清楚认识。...命令,你会发现程序正常运行,并且在控制台输出了以下内容: Module1 is partially loaded here { a: 1, b: 2 } 通过实际验证,我们发现出现循环依赖时候,程序并不会出现死循环...其中 .js 和 .json 文件,相信大家都很熟悉,.node 后缀文件是 Node.js 二进制文件。然而为什么 require 函数,只支持这三种文件格式呢?...Node.js 不会附加 node_modules 到一个已经以 node_modules 结尾路径上。 如果还是没有找到,则移动到再上一层父目录,直到文件系统根目录。...然后以一系列问题为切入点,循序渐进介绍 module.exports 与 exports 对象区别、模块循环依赖、require 支持导入文件类型及 require 函数执行主要流程等相关知识

1K30

帮助编写异步代码ESLint规则

首先,如果异步函数抛出错误,错误将丢失,不会构造 Promise 拒绝。其次,如果在构造函数内部使用了 await,那么外层 Promise 可能就没有必要了,可以将其删除。...这就造成了一个竞赛条件,当值在单独函数调用中更新时,更新不会反映在当前函数作用域中。因此,这两个函数都将其结果添加到 totalPosts 初始值 0 中。...(err) { console.log(err); return; } console.log(data); } 在 Node.js 中,将错误作为第一个参数传递给回调函数是很常见...代码通常不会同时处理这两种情况。本规则可确保函数返回被拒绝promise或抛出 Error,但绝不会同时返回两种情况。...此外,如果知道所有返回 Promise 函数都被标记为 async ,那么浏览代码库就容易多了。 启用这些规则 我发布一个 ESLint 配置包,你可以轻松将其添加到你项目中。

14410

深入研究 Node.js 回调队列

请注意,Node.js 负责所有异步活动,因为 JavaScript 可以利用其单线程性质来阻止产生线程。 在完成后台操作后,它还负责向回调队列添加函数。JavaScript 本身与回调队列无关。...如你所见,在 IO 和计时器队列中,所有与异步操作有关内容都被移交给异步函数。 但是 promise 不同。...同时它用得到结果来更新 JavaScript 内存中变量,以使该函数不与 一起运行。...执行该程序时,Node.js 把 setImmediate 回调函数添加到检查队列。由于整个程序尚未准备完毕,因此事件循环不会检查任何队列。...事件循环会确定将要在每次迭代中接下来要执行回调函数。 了解队列如何在 Node.js 中工作,使你对其有更好了解,因为队列是环境核心功能之一。

3.8K10

nodejs基础概念

变量定义:使用var来定义变量。常用输出 API:console.log()。 多行表达式:这里指的是循环,与在 js 中做循环是一致。....load filename 载入当前 Node REPL 会话文件内容。 3. Node.js 回调函数 Node.js异步编程直接体现就是回调。...Node.js基本上所有的事件机制都是用设计模式中观察者模式实现Node.js单线程类似进入一个while(true)事件循环,直到没有事件,观察者退出,每个异步事件都生成一个事件观察者。...Node.js里面的许多对象都会分发事件:一个net.Server对象会在每次有连接时分发一个事件,一个fs.readStream对象会在文件被打开时候发出一个事件。...但是在处理流时,必须使用二进制数据,因此在Node.js中定义Buffer类,该类用来创建一个专门存放二进制数据缓存区。

87320

Node.js 十大常见开发者错误

前言 自 Node.js 面世以来,它获得了大量赞美和批判。这种争论会一直持续,短时间内都不会结束。...错误1:阻塞事件循环 Node.js(正如浏览器)里 JavaScript 提供一种单线程环境。这意味着你程序不会有两块东西同时在运行,取而代之是异步处理 I/O 密集操作所带来并发。...CPU 计算密集型代码包括尝试排序一个巨大数组、跑一个耗时很长函数等等。...(打个广告,隔壁《ES6 Generator 介绍》提及 Generator 也是可以解决回调地狱哦,而且结合 Promise 使用更加自然,请期待隔壁楼主下篇文章吧:D) 错误4:期待回调函数同步执行...这些库提供便利方式让你在启动程序时候开启或关闭具体 debug 模式,例如,使用 debug 的话,你能够阻止任何 debug 方法输出信息到终端上,只要不设置 DEBUG 环境变量即可。

1.2K20

面试常考手写代码学习技巧总结

起名字与具体功能考虑 起名字 手写函数时候,我每次给参数或者函数起名字都要犹豫那么几秒。面试官还以为我不会写嘞!...变量与返回值 看完一道手写面试题,可以先看下是否需要声明变量,需要返回结果和结果类型等。...很多情况可以声明变量或者不声明变量,都能解决问题,但是就要考虑到时间复杂度和空间复杂度了,先用一种实现就好。面试官会继续问你有没有其他方案,嘿嘿。 3. 考虑是用循环?递归?...循环 for 循环 for 有三个表达式:①声明循环变量;②判断循环条件;③更新循环变量;    三个表达式之间,用;分割,for 循环三个表达式都可以省略,但是两个“;”缺一不可。...,这样我们再判断类型时候,直接使用 type 函数就可以

1K20

一文读懂NodeJs知识体系和原理浅析

处理加密算法,各种框架运用广泛 zlib 处理压缩等内容 node.js 常⻅内置模块 主要模块 node.js 中最主要内容,就是实现一套 CommonJS 模块化规范,以及内置一些常⻅模块...在 Node.js 我们可以直接访问到 global 属性,而不需要在应用中包含它。 全局对象和全局变量 global 最根本作用是作为全局变量宿主。...process process 是一个全局变量,即 global 对象属性。 它用于描述当前Node.js 进程状态对象,提供一个与操作系统简单接口。...console.log("该代码不会执行"); }, 0); console.log('退出码为:', code); }); console.log("程序执行结束"); 退出状态码 Uncaught...注意:setImmediate为实验性方法,可能不会被批准成为标准,目前只有最新版本 Internet Explorer 和 Node.js 0.10+ 实现该方法。

1.2K10

前端经典面试题(有答案)_2023-03-15

bind 方法通过传入一个对象,返回一个 this 绑定传入对象函数。这个函数 this 指向除了使用 new 时会被改变,其他情况下都不会改变。...检索 I/O 事件,执行与 I/O 相关回调,其他情况 Node.js 将在适当时候在此阻塞。这也是最复杂一个阶段,所有的事件循环以及回调处理都在这个阶段执行。这个阶段主要流程如下图所示。...因此可以这样理解,Node.js 进程启动后,就发起了一个事件循环,也就是事件循环起点。...总结来说,Node.js 事件循环发起点有 4 个:Node.js 启动后;setTimeout 回调函数;setInterval 回调函数;也可能是一次 I/O 后回调函数。...因为可能存在当前还未回调异步 I/O,所以这个循环是没有终点,只要进程在,并且有任务存在,就会去执行Node.js 是单线程还是多线程

67030

美团前端面试题整理_2023-02-28

检索 I/O 事件,执行与 I/O 相关回调,其他情况 Node.js 将在适当时候在此阻塞。这也是最复杂一个阶段,所有的事件循环以及回调处理都在这个阶段执行。...因此可以这样理解,Node.js 进程启动后,就发起了一个事件循环,也就是事件循环起点。...总结来说,Node.js 事件循环发起点有 4 个: Node.js 启动后; setTimeout 回调函数; setInterval 回调函数; 也可能是一次 I/O 后回调函数。...因为可能存在当前还未回调异步 I/O,所以这个循环是没有终点,只要进程在,并且有任务存在,就会去执行 Node.js 是单线程还是多线程?.../a.js') module.a // 这里其实就是包装了一层立即执行函数,这样就不会污染全局变量了, // 重要是 module 这里,module 是 Node 独有的一个变量 module.exports

1K10

一文读懂NodeJs知识体系和原理浅析_2023-03-01

处理加密算法,各种框架运用广泛 zlib 处理压缩等内容 node.js 常⻅内置模块 主要模块 node.js 中最主要内容,就是实现一套 CommonJS 模块化规范,以及内置一些常⻅模块...在 Node.js 我们可以直接访问到 global 属性,而不需要在应用中包含它。 全局对象和全局变量 global 最根本作用是作为全局变量宿主。...process process 是一个全局变量,即 global 对象属性。 它用于描述当前Node.js 进程状态对象,提供一个与操作系统简单接口。...process.on('exit', function(code) { // 以下代码永远不会执行 setTimeout(function() { console.log("该代码不会执行...注意:setImmediate为实验性方法,可能不会被批准成为标准,目前只有最新版本 Internet Explorer 和 Node.js 0.10+ 实现该方法。

1.2K00

Module 加载实现

# Module 加载实现 上一章介绍模块语法,本章介绍如何在浏览器和 Node.js 之中加载 ES6 模块,以及实际开发中经常遇到一些问题(比如循环加载)。...因为变量obj指向地址是只读,不能重新赋值,这就好比main.js创造一个名为objconst变量。 最后,export通过接口,输出是同一个值。...有上一节条件加载以后,Node.js 本身就可以同时处理两种模块。 // ....执行到第三行console.log(foo)时候,才发现这个接口根本没定义,因此报错。 解决这个问题方法,就是让b.mjs运行时候,foo已经有定义。这可以通过将foo写成函数来解决。.../b'时,函数foo就已经有定义,所以b.mjs加载时候不会报错。这也意味着,如果把函数foo改写成函数表达式,也会报错。 // a.mjs import {bar} from '.

1.1K20

函数 SCF Node.js Runtime 最佳实践

腾讯云云函数最近新发布 Node.js 12.16 runtime,也是国内首家支持 Node.js 12.x 主流云服务商。...api,而不用在代码里面去 hard code 各种密钥信息 环境变量:包括用户自定义环境变量以及一些系统环境变量 执行环境基本信息:包括了当前函数调用地域,用户 appId,uin 第三个参数...腾讯云云函数针对 Node.js 异步场景,实现返回和结束分离特殊机制。...默认情况下,函数执行会等待所有异步执行结束才算一次调用结束,但也给用户提供关闭事件循环等待选项,用户可以关闭事件循环等待来自行控制函数返回时机。...针对这一特性,如果实例一直再复用,那么在入口文件中,入口函数外定义变量不会被销毁,可以达到复用效果 内置部分 npm 包,可以直接使用,具体参照文档。

1.9K82
领券