1、全局对象
node.js中的全局对象是global,我们在node.js中能够直接访问的对象通常是global的属性,如console、process等。
1.1、全局对象与全局变量
global是全局变量的宿主,当你定义一个全局变量的时候,这个变量同时会成为全局对象的属性。在node.js中你不可能定义全局变量,因为虽有用户的代码都是属于当前模块的,而模块本事不是最外层上下文。
1.2、process
process是全局变量,也就是global对象的属性。它用于描述当前node.js进程的状态的对象。下面说下process.nextTick(callback)
function doSomething(args, callback) { somethingComplicated(args); callback(); } doSomething(function onEnd() { compute(); });
我们假设somethingComplicated和compute()是两个很耗时的操作,由于node.js进程是单线程的,所以程序可能会出现卡顿现象。现在我们采用process.nextTick(callback),代码如下:
function doSomething(args, callback) { somethingComplicated(args); process.nextTick(callback); } doSomething(function onEnd() { compute(); });当调用doSomething的时候,执行完成somethingComplicated后,在下个事件循环中进行回调函数的调用,因此process.nextTick(callback)会把耗时的操作拆分成了两个耗时较少的事件。
1.3、console
用于控制台标准输出。
1.4、util
util是一个node.js的核心模块,提供常用函数的结合,用于弥补核心js的功能过于精简的不足。我们只介绍util.inherits。
util.inherits是实现对象间原型继承的函数。下面看一个例子、
var util = require('util'); function Base() { this.name = 'base'; this.base = 1991; this.sayHello = function() { console.log('Hello ' + this.name); }; } Base.prototype.showName = function() { console.log(this.name); };下面我们编写一个Base的子类
相关推荐
第4章 Node.js核心模块 57 4.1 全局对象 58 4.1.1 全局对象与全局变量 58 4.1.2 process 58 4.1.3 console 60 4.2 常用工具util 61 4.2.1 util.inherits 61 4.2.2 util.inspect 62 4.3 事件驱动...
作为资深专家,《Node.js 硬实战:115 个核心技巧》作者独辟蹊径,将着眼点放在Node.js 的核心模块和网络应用,通过精心组织的丰富实例,向读者充分展示了Node.js 强大的并发处理能力,读者从中可真正掌握Node 的...
Node.js核心API
第4章 Node.js核心模块 57 4.1 全局对象 58 4.1.1 全局对象与全局变量 58 4.1.2 process 58 4.1.3 console 60 4.2 常用工具util 61 4.2.1 util.inherits 61 4.2.2 util.inspect 62 4.3 ...
该资源提供了关于Node.js开发的详细指南,涵盖了Node.js的基础知识、核心模块、异步编程、Web开发、数据库访问等内容。 适用人群:该资源适用于想要学习和掌握Node.js开发的开发人员和学习者。无论是初学者还是有...
非常详细的资料介绍,入门+深入。 本书是一本 Node.js 的入门教程,写给想了解 Node.js 的开发人员。...本书共6章,分别讨论了 Node.js 的背景、安装和配置方法、基本特性、核心模块以及一些进阶话题。
node.js学习文档,包含如何使用node.js核心模块、express框架、ejs渲染页面、访问MongoDb等
基于模块化思想的Node.js服务器框架设计,朱庆广,周晓光,本文提出了一种基于模块化思想的Node.js服务器框架设计方案,本方案以Commonjs模块化系统为核心,将HTTP请求的逻辑处理封装到每个模块��
node-polyfill-webpack-plugin Webpack中的Polyfill Node.js核心模块。 仅需要此模块。安装npm install node-polyfill-webpack-plugin用法将以下内容添加到您的webpack.config.js : const NodePolyfillPlugin = ...
debug一个模仿Node.js核心调试技术的微型JavaScript调试实用程序。 可在Node.js和Web浏览器中使用。 安装$ npm install debug用法debug公开一个函数; s debug一个模仿Node.js核心调试技术的微型JavaScript调试实用...
基于Vue.js和Node.js的在线文档阅读分享...文档管理模块、登录权限模块、数据统计模块、评论功能模块、分类归档模块、信息展示模块、系统日志模块,包含富文本编辑器、Markdown语法编辑器,在线文件预览等核心功能。
通过Node.js的官方API可以看到Node.js本身提供了很多核心模块 http://nodejs.org/api/ ,这些核心模块被编译成二进制文件,可以require(‘模块名’)去获取;核心模块具有最高的加载优先级(有模块与核心模块同名时...
不会修改任何浏览器原型或在window上放置任何内容全面的测试套件(包括来自node.js核心的所有缓冲区测试)安装要直接使用此模块(不使用browserify),请安装它: npm install buffer 该模块以前称为native-buffer-...
一堆准备使用 RequireJS 的 Node.js 核心模块。 安装(凉亭) bower install --save requirejs-node 用法 { 'paths' : { 'url' : 'lib/url' , 'path' : 'lib/path' } } 附加信息 目前,我们只有这些模块: ...
节点地狱犬 地狱犬又名。 Fluffy,是一个用于 Node.js 核心模块参数的模糊测试库。
## modules WebNode.js使用Node.js核心模块fs , http和https ,以及本地模块FileSender.js , FileDeliverer.js , ServerConfigReader.js和ContentTypesConfigReader.js 。 ##运行服务器###配置服务器在启动...
它运行在Google Chrome浏览器V8核心的超快速JavaScript引擎之上,并添加了快速而强大的异步网络I / O模块库。 Node.js的主要重点是开发高性能,高可伸缩性的Web应用程序,并且在其他领域也得到了广泛的应用。 ...
@钛/ polyfill 用于某些Node.js核心和全局模块的Titanium本机移动Polyfill :memo: 描述与Titanium Native移动应用程序一起用于在Internet上请求数据 :sparkles: 特征钛芯添加的填充料 适用于Node.js的Polyfill ...
例子获取当前Node.js版本的核心模块列表: var builtins = require ( 'builtins' ) ( )assert ( builtins . indexOf ( 'http' ) > - 1 ) 获取特定Node.js版本的核心模块列表: var builtins = require ( 'builtins' ...