ホームページ ウェブフロントエンド jsチュートリアル Node.js のグローバル オブジェクトの詳細な紹介

Node.js のグローバル オブジェクトの詳細な紹介

Aug 23, 2018 pm 05:16 PM
node.js

この記事では、Node.js のグローバル オブジェクトについて詳しく説明します。必要な方は参考にしてください。

1: ノードグローバルオブジェクトのパス

1. Path

_filename ---現在のファイルパス

_dirname ----現在のファイルが存在するディレクトリ

例:

console.log(__filename);
console.log(__dirname);
输出结果:
/Users/macshiguang/node/npm2/index.js
/Users/macshiguang/node/npm2
ログイン後にコピー

2: ノード グローバル オブジェクト console

2.console (コンソール)

(1) プレースホルダー

%s ---- String

console.log("hello %sworld ","world"); //出力: hello world world

%d ---値 (整数または浮動小数点数)

console.log("Price: %d","88 ") ; //出力: 価格: 88

%i ----整数、整数

console.log("%i",300.8) //出力 300

%f - ---浮動小数点値、浮動小数点型

console.log("%f",200.3); //出力 200.3

%j ----JSON、パラメータに循環参照が含まれる場合、次に、

console.log('json:%j',{name:'zhang'}); //json:{"name":"zhang"}

console.log({name:'zhang'}) を置き換えます。 ); //出力オブジェクト: { name: 'zhang' }

(2) コンソールオブジェクト属性

log() ---ログ

count( ) ---Count

rree

countReset() ---カウントをリセット

console.countReset('tag');

console.count('tag'); //上記のカウントを接続します: 1

dir() ---属性とメソッドを出力します

// 特定のパラメータを出力します

console.dir(global);

// パラメータを出力します 特定の属性

console.log(global ,{colors:true})

//オブジェクトのフォーマット時に再帰する回数、属性の深さを出力します

console.dir(global,{colors:true} , Depth:1});

time() --- プログラムの実行時間を計算します

timeEnd() --- プログラムの実行時間を計算します

 console.count();
console.count('tag'); // default: 1   tag: 1

console.count();
console.count('tag'); // default: 2   tag: 2

console.count();
console.count('tag');// default: 3   tag: 3
ログイン後にコピー

group( ) - --後続の行のインデントをスペース 2 つ増やします

groupEnd()---後続の行のインデントをスペース 2 つ削除します

// 时间
console.time();
for (let i = 0;i<1000;i++){
     i * 15 +120 /34;
}
console.timeEnd();//undefined: 0.054ms
ログイン後にコピー

error()-- -Error

console.error("error");

warn() ---警告

console.warn("warning");

trace ---デバッグ情報

console.trace ("trace");

(3) キャラクターペイント

figletパッケージ

インストール: npm install figlet

導入:

console.log("团");
console.group();
console.log("一营");
console.group();
console.log("一连");
console.log("二连");
console.groupEnd();
console.log("二营");
console.group();
console.log("一连");
console.log("二连");
console.groupEnd();
console.groupEnd();
console.log("炮兵团");

//输出
团
    一营
        一连
        二连
    二营
        一连
        二连
炮兵团
ログイン後にコピー

いいえ 3つ。 de グローバルオブジェクトタイマー

3、定时器

(1)设置定时

setTimeout(callback , delay[ , args......])

setInterval(callback, delay[ , args......])

setImmediate(callback, [ , args......]) ---异步执行

例子:

// 定时器,异步执行(先同步后异步)
let myImmediate = setImmediate(function () {
    console.log("setImmediate立即执行");
})

//同步执行
setTimeout(function (name) {
    console.log("setTimeout");
})

//输出结果
setTimeout
setImmediate立即执行
ログイン後にコピー

(2)取消定时

clearTimeout(timeout)

clearInterval(timeout)

clerImmediate(Immediate)

例子:

let myImmediate = setImmediate(function () {
    console.log("setImmediate立即执行");
})
clearImmediate(myImmediate);
ログイン後にコピー

四:Node全局对象之Module

4、Module(模块)

属性:

exports ---模块中导入的方法,属性,类, module.exports===exports,改变属性值用:module.exports

require() ---引入模块module.require() ===require()

require.main ---得到直接使用node运行的模块,require.main === module

parent ---父模块

children ---子模块

filename ---当前模块的路径,等同于__filename

id ---

loaded ---

paths ---

五. Node全局对象之process

5. Process(进程)

(1)对象属性

pid ---进程号

title ---进程名

argv ---命令行选项组成的数组

argv0 ---命令行选项的第一个

env ---环境信息

execPath ---node.exe的路径

arch ---CPU架构

versions ---版本号信息

platform ---平台信息/操作系统信息

cwd() --返回进程工作目录(当前运行文件的目录)

memoryUsage() --返回内存使用情况,单位byte

exit() ---结束进程

例子:www/test-01.js

console.log(process.pid);//13196
console.log(process.title);//D:\WebStorm\WebStorm 2017.2\bin\runnerw.exe
console.log(process.argv);//[ &#39;D:\\nodejs\\node.exe&#39;, &#39;D:\\nodejs\\www\\test\\test-01.js&#39; ]
console.log(process.argv0);//D:\nodejs\node.exe
console.log(process.cwd());//D:\nodejs\www\test
//开启异步操作
setTimeout(function () {
},100000);
ログイン後にコピー

(2)输入输出流(I/O)

process.stdin ---输入

process.stdout ---输出

例子一:

// 输出流
process.stdout.write("hello");
process.stdout.write(",world");

// 输入流
process.stdin.on(&#39;data&#39;,function (name) {
    console.log(&#39;请输入用户名:&#39;+name);
})

//输出:
hello,world
请输入用户名:
zhang
请输入用户名:zhang
ログイン後にコピー

例子二:

输入任意两个数,自动计算其和

let a;
let b;
process.stdout.write("请输入a的值:");
process.stdin.on(&#39;data&#39;,function (chunk) {
    if(!a){
        a=Number(chunk);
        process.stdout.write("请输入b的值:");
    }else {
        b=Number(chunk);
        process.stdout.write("a+b的和为:"+(a + b));
    }
})
ログイン後にコピー

(3)Exit Codes

  1. 正常情况下,无异步操作正在等待,node.js以状态码0退出


  2. 未捕捉异常......

详情:http://nodejs.cn/api/process.html#process_exit_codes

六. Node全局对象之Buffer

6. Buffer

(1) 什么是Buffer

读取或者操作二进制数据流

Buffer类的实例类似整数数组,但Buffer的大小是固定的且在V8堆外分配物理内存。

使用Buffer来存储需要占用大量内存的数据

(2)Buffer的应用

读取文件内容时,返回是buffer

使用net或者http模块来接受网络数据时,data事件的参数也是一个buffer

使用node.js编写一些底层功能时,比如:网络通信模块,某个数据库的客户端模块,或需从文 件中操作大量结构化数据时

(3)类方法

Buffer.alloc() ---分配长度,每个元素自动填充0,每个元素都是一个字节byte(8bit)

通过在http://tool.oschina.net/hexconvert中查看进制转换

例子:

// 创建buffer
// 为Buffer对象分配10个长度,每个元素自动填充0
//buffer的每个元素都是一个字节byte(8bit)
const buf = Buffer.alloc(10);
buf[0] =10;
buf[1] =250;//转为10进制为fa
buf[2] =300;//转为10进制为2c
console.log(buf);//<Buffer 0a fa 2c 00 00 00 00 00 00 00>
console.log(buf.length);//10
ログイン後にコピー

Buffer.from() ---快速创建Buffer

例子:

// 快速创建
// 数组
const buf2 = Buffer.from([1,2,260,4]);
console.log(buf2);//<Buffer 01 02 04 04>
console.log(buf2.length);//4
// 字符串,需utf-8编码
const buf3  =Buffer.from(&#39;你好&#39;,&#39;utf8&#39;);
console.log(buf3);//<Buffer e4 bd a0 e5 a5 bd>
console.log(buf3.length);//6
ログイン後にコピー

Buffer.allocUnSafe() ---创建Buffer

例子:

// 直接从内存开辟空间,10个字节,没有初始化
const buf4 = Buffer.allocUnsafe(10);
console.log(buf4);//输出有内容,<Buffer 98 21 49 7e bf 02 00 00 08 22>,
// 直接从内存开辟空间,10个字节,没有初始化(可能回保存好旧的数据)速度比较快
buf4.fill(&#39;a&#39;);//每一个填充a
console.log(buf4.length);//4
ログイン後にコピー

Buffer.allocUnSafeSlow() --

Buffer.byteLength() ---

Buffer.compare() ---

Buffer.concat() ---拼接buffer

例子:综和上面创建的buffer:

//拼接buffer
const buf5 = Buffer.concat([buf,buf2]);
console.log(buf5);//<Buffer 0a fa 2c 00 00 00 00 00 00 00 01 02 04 04>
console.log(buf5.length);//14
ログイン後にコピー

isBuffer() ---

isEncoding() ---

PoolSize属性

ToString() ---buffer输出

例子:综合以上例子

// buffer 输出字符串
console.log(buf.toString(&#39;hex&#39;));//
console.log(buf3.toString(&#39;utf8&#39;));//你好
ログイン後にコピー

(4) Buffer对象方法

      Buf[index]

      Buf.buffer

      Buf.compare()

      Buf.copy()......

      详情见:http://nodejs.cn/api/buffer.html

相关推荐:


以上がNode.js のグローバル オブジェクトの詳細な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Node V8 エンジンのメモリと GC の詳細な図による説明 Node V8 エンジンのメモリと GC の詳細な図による説明 Mar 29, 2023 pm 06:02 PM

この記事では、NodeJS V8 エンジンのメモリとガベージ コレクター (GC) について詳しく説明します。

Nodeのメモリ制御に関する記事 Nodeのメモリ制御に関する記事 Apr 26, 2023 pm 05:37 PM

ノンブロッキングおよびイベント駆動に基づいて構築されたノード サービスには、メモリ消費量が少ないという利点があり、大量のネットワーク リクエストの処理に非常に適しています。大量のリクエストを前提として、「メモリ制御」に関する問題を考慮する必要があります。 1. V8 のガベージ コレクション メカニズムとメモリ制限 Js はガベージ コレクション マシンによって制御されます

最適な Node.js Docker イメージを選択する方法について話しましょう。 最適な Node.js Docker イメージを選択する方法について話しましょう。 Dec 13, 2022 pm 08:00 PM

ノード用の Docker イメージの選択は些細なことのように思えるかもしれませんが、イメージのサイズと潜在的な脆弱性は、CI/CD プロセスとセキュリティに大きな影響を与える可能性があります。では、最適な Node.js Docker イメージを選択するにはどうすればよいでしょうか?

Node の File モジュールについて詳しく説明しましょう Node の File モジュールについて詳しく説明しましょう Apr 24, 2023 pm 05:49 PM

ファイル モジュールは、ファイルの読み取り/書き込み/開く/閉じる/削除の追加など、基礎となるファイル操作をカプセル化したものです。ファイル モジュールの最大の特徴は、すべてのメソッドが **同期** と ** の 2 つのバージョンを提供することです。 asynchronous**、sync サフィックスが付いているメソッドはすべて同期メソッドであり、持たないメソッドはすべて異種メソッドです。

Node.js 19 が正式リリースされました。その 6 つの主要な機能についてお話しましょう。 Node.js 19 が正式リリースされました。その 6 つの主要な機能についてお話しましょう。 Nov 16, 2022 pm 08:34 PM

Node 19 が正式リリースされましたので、この記事では Node.js 19 の 6 つの主要な機能について詳しく説明します。

Node.js の GC (ガベージ コレクション) メカニズムについて話しましょう Node.js の GC (ガベージ コレクション) メカニズムについて話しましょう Nov 29, 2022 pm 08:44 PM

Node.js はどのように GC (ガベージ コレクション) を行うのでしょうか?次の記事で詳しく説明します。

Nodeのイベントループについて話しましょう Nodeのイベントループについて話しましょう Apr 11, 2023 pm 07:08 PM

イベント ループは Node.js の基本的な部分であり、メイン スレッドがブロックされていないことを確認することで非同期プログラミングが可能になります。イベント ループを理解することは、効率的なアプリケーションを構築するために重要です。次の記事では、Node のイベント ループについて詳しく説明します。お役に立てれば幸いです。

pkg を使用して Node.js プロジェクトを実行可能ファイルにパッケージ化する方法について説明します。 pkg を使用して Node.js プロジェクトを実行可能ファイルにパッケージ化する方法について説明します。 Dec 02, 2022 pm 09:06 PM

Nodejs実行可能ファイルをpkgでパッケージ化するにはどうすればよいですか?次の記事では、pkg を使用して Node プロジェクトを実行可能ファイルにパッケージ化する方法を紹介します。

See all articles