nodejs学習ノート---1
14652 ワード
1.初対面のNodeJs
いつですか
何ができますか
NodeJS環境構築と運行
2.webstormの使用
プロジェクトの作成
webstormのNodeJs配置
ノードJsコード提示
3.NodeとJSの異同
基本文法
オブジェクトを内蔵
グローバルオブジェクト
スコープ
4.モジュールの使用
グローバルスコープ
globalオブジェクト
モジュール
モジュールコンセプト
モジュールスコープ
モジュールオブジェクトmodule
5.モジュールロード機構
モジュールのロード
require()
モジュールパス処理
モジュールファイルの検索メカニズム
6.モジュール-moduleとexports
モジュールの作成
moduleオブジェクト
module.exportオブジェクト
exportオブジェクト
7.グローバルオブジェクト
モジュールオブジェクト
__filename
__dirname
グローバルオブジェクト
set Timeout
set Interval
clearTimeout
clear Interval
Date
8.processオブジェクト
概念
属性と方法
argv
execPath
エンv
version
versions
pid
title
arch
plotform
cwd()
chdir(directory)
memoryUsage()
exit(code)
キルル(pid)
9.processオブジェクト-入出力ストリーム
stdin、stdout:標準入出力ストリーム(IO)
標準入力デバイス
標準出力装置
process.out.write()
出力ストリーム
process.in.reume()
入力ストリームを復元
process.in.on('data')
入力ストリームデータイベントを受信する
10.Buffer-1
概念
Buffer類
new Buffer()
Bufferオブジェクトを作成
Bufferオブジェクトデータの基本操作
bf[index] : 下付き対応データを取得
bf.length : buffer長さ
文字列とバイトの違い
11 Buffer-2
Bufferオブジェクトのいくつかの一般的な属性と方法
write()
toString()
toJSON()
slice()
copy()
12 Buffer-3
Buffer類のいくつかの一般的な属性と方法
isEnccoding()
isBuffer()
byteLength()
concat()
1、初心者NodeJs
javascriptは3つの部分から構成されています.
Ecmascript この言語のいくつかの基礎を定義しています.文法、データの種類、構造、またいくつかの一般的なオブジェクトがあります.
BOM Ecmascriptに基づいて拡張されたページ操作要素の方法
DOMはEcmascriptに基づいてブラウザを操作するいくつかの方法を拡張します.
NodeJSもEcmascriptに基づいて拡張されたいくつかの操作非ブラウザのいくつかの方法です.OS OS OS OS OS OS OS、fileファイルシステム、databaseデータベース、netネットワークなどです.
設置及び環境配置(windowsシステム)
2、エディタはwebstromを使っています.
直接右ボタンrunで見ることができます.
settingを使ってnodejsのヒントを設定します.
3、nodeとjsの違い
nodeの中で1つのaを定義して、globalを使って訪問することができなくて、aが1つの局部の変数なためです. nodeでは、ファイルとモジュールは一つずつ対応しています.つまり、一つのファイルは一つのモジュール です.各モジュールには自分の役割領域があります. 私たちはvarを使用して説明する変数の一つは、大域的なものではなく、現在のモジュールの作用領域に属する である.
5、モジュールロードシステム
node 2.jsを定義するファイル
1.ロードパス
2.ファイル検索の特徴:まず、ロードされたモジュールのファイル名に従って検索する .が見つからなかったら、モジュールファイル名の後に、jsのサフィックスを付けて検索します. まだ見つかっていない場合は、ファイル名の後に、jsonのサフィックスを付けて検索します. まだない場合は、ファイル名の後に、nodeの拡張子を追加して、 を検索します.まだないなら、エラーを出します.
ファイル名>.js>.json>.node>エラー
6、モジュール-moduleとexports
一つのモジュールでvarによって定義された変数は、そのスコープが現在のモジュールです.外部は直接的にアクセスできません.もしモジュールの中で他のモジュールで定義された変数にアクセスしたいなら、変数をglobalオブジェクトの属性として使用しますが、これは推奨されていません. モジュールオブジェクトmodule を使用する.
変数をglobalオブジェクトの属性とします.
module:現在のモジュールに関する情報を保存します.
このmoduleオブジェクトでは、もう一つのサブオブジェクト、exportオブジェクトは、このオブジェクトを通じてモジュールの一部変数オブジェクトにアクセスすることができます.
node 5.jsに書き込みます.
と書いてもいいです.
定義されたいくつかの詳細は、できるだけそれらの引用関係を破壊しないようにします.
中国語の文書と照らし合わせて勉強できます.
同前filename 和 __dirnameはグローバルではなく、モジュールローカルです.
つまり、次のように出力するということです.
この二つのecmascriptに規定されている基本的なデータのタイプを除いては、全体的には、配列array、日付dateです.
多くのパラメータが含まれています
process.argv コマンドラインのパラメータを含む配列です.最初の要素は「node」で、2番目のパラメータはJavaScriptファイルの名前で、3番目のパラメータは任意のコマンドラインパラメータです.
process.envはユーザー環境情報に戻ります.
process.versionはnodeバージョンの情報を返します.
process.versionsはnodeとその依存パケットのバージョン情報を返します.
process.pid 現在のプロセスのPID タスクマネージャの詳細情報pid
process.title現在のプロセスの表示名 (Getter/setter) 取得/設定
process.archは現在のCPUのアーキテクチャを返します.'arm'、'ia 32'または'x 64'
process.plotformは現在のオペレーティングシステムプラットフォームに戻ります.
process.cwd()は現在のプロセスのワークディレクトリを返します.
process.chdir(directory)は現在のプロセスの作業ディレクトリを変更します.
process.kill(pid)はプロセスにメッセージを送ります.
exit(code)終了
文書を具体的に見る方法はまだたくさんあります.
9、stdin、stdout標準入出力ストリーム(IO)
---- 標準入力デバイス
---- 標準出力装置
---- stdinとstdoutは入力データと出力データを操作する方法を提供しています.私達も通常IO操作と呼ばれています.
stdin 標準入力ストリーム
stdout 標準出力ストリームバイナリデータのより良い操作のためのクラス 私たちはファイルやネットワークデータを操作する時、実際にはバイナリデータストリームを操作しています.nodeはより便利な操作を提供してくれました.このようなデータフローの種類はBufferで、全体のクラス です.の3つの構造方式 new Bufferは長さ を割り当てます. new Buffer new Buffer
buf[index] index位置を指定する8バイトを取得または設定します.
buf.write(string[,offset][,length][,encoding]) パラメータoffsetオフセットと指定されたencoding符号化方式に基づいて、パラメータstringデータをbufferに書き込みます.
いつですか
何ができますか
NodeJS環境構築と運行
2.webstormの使用
プロジェクトの作成
webstormのNodeJs配置
ノードJsコード提示
3.NodeとJSの異同
基本文法
オブジェクトを内蔵
グローバルオブジェクト
スコープ
4.モジュールの使用
グローバルスコープ
globalオブジェクト
モジュール
モジュールコンセプト
モジュールスコープ
モジュールオブジェクトmodule
5.モジュールロード機構
モジュールのロード
require()
モジュールパス処理
モジュールファイルの検索メカニズム
6.モジュール-moduleとexports
モジュールの作成
moduleオブジェクト
module.exportオブジェクト
exportオブジェクト
7.グローバルオブジェクト
モジュールオブジェクト
__filename
__dirname
グローバルオブジェクト
set Timeout
set Interval
clearTimeout
clear Interval
Date
8.processオブジェクト
概念
属性と方法
argv
execPath
エンv
version
versions
pid
title
arch
plotform
cwd()
chdir(directory)
memoryUsage()
exit(code)
キルル(pid)
9.processオブジェクト-入出力ストリーム
stdin、stdout:標準入出力ストリーム(IO)
標準入力デバイス
標準出力装置
process.out.write()
出力ストリーム
process.in.reume()
入力ストリームを復元
process.in.on('data')
入力ストリームデータイベントを受信する
10.Buffer-1
概念
Buffer類
new Buffer()
Bufferオブジェクトを作成
Bufferオブジェクトデータの基本操作
bf[index] : 下付き対応データを取得
bf.length : buffer長さ
文字列とバイトの違い
11 Buffer-2
Bufferオブジェクトのいくつかの一般的な属性と方法
write()
toString()
toJSON()
slice()
copy()
12 Buffer-3
Buffer類のいくつかの一般的な属性と方法
isEnccoding()
isBuffer()
byteLength()
concat()
1、初心者NodeJs
javascriptは3つの部分から構成されています.
Ecmascript この言語のいくつかの基礎を定義しています.文法、データの種類、構造、またいくつかの一般的なオブジェクトがあります.
BOM Ecmascriptに基づいて拡張されたページ操作要素の方法
DOMはEcmascriptに基づいてブラウザを操作するいくつかの方法を拡張します.
NodeJSもEcmascriptに基づいて拡張されたいくつかの操作非ブラウザのいくつかの方法です.OS OS OS OS OS OS OS、fileファイルシステム、databaseデータベース、netネットワークなどです.
設置及び環境配置(windowsシステム)
2、エディタはwebstromを使っています.
直接右ボタンrunで見ることができます.
settingを使ってnodejsのヒントを設定します.
3、nodeとjsの違い
/* ecmascript ,nodejs js , , ,
* js window
* node global
* : node window
*
* */
var a=100;
console.log(a); //100
var d=new Date();
console.log(d.getFullYear()); //2045
console.log(d.getMonth()+1); //10
var arr=[1,2,3];
arr.push(4);
console.log(arr); //[1,2,3,4]
function Person(name){
this.name=name;
}
Person.prototype.run=function(){
console.log(this.name+' running')
}
var p1=new Person('leo');
p1.run(); //leo running
4、モジュールの使用nodeの中で1つのaを定義して、globalを使って訪問することができなくて、aが1つの局部の変数なためです.
var a=100;
console.log(global.a); //undefined
nodeにはこのような規定があります.var a=100;
console.log(a); //100
global.a=200;
console.log(a); //100
console.log(global.a);//200
ここで定義されているaとglobal.aは2つの変数です.//__filename:
console.log(__filename); //d:\wamp\www
odejs
ode1.js
以上は結論を出すことができます.各ファイルには自分のモジュールがあります.各モジュールにはこの属性があります.5、モジュールロードシステム
node 2.jsを定義するファイル
console.log(" node2.js");
node 1.jsの中で引用したいなら、使えます.require('./node2.js')// node2.js
モジュールローディング機構の二つの問題1.ロードパス
require(' ')
パスは相対パスまたは絶対パスを書くことができます.2.ファイル検索の特徴:
6、モジュール-moduleとexports
一つのモジュールでvarによって定義された変数は、そのスコープが現在のモジュールです.外部は直接的にアクセスできません.もしモジュールの中で他のモジュールで定義された変数にアクセスしたいなら、
変数をglobalオブジェクトの属性とします.
global.a=100;
モジュールオブジェクトを使うmodulemodule:現在のモジュールに関する情報を保存します.
console.log(module)
を選択します.どのような属性がありますか?このmoduleオブジェクトでは、もう一つのサブオブジェクト、exportオブジェクトは、このオブジェクトを通じてモジュールの一部変数オブジェクトにアクセスすることができます.
node 5.jsに書き込みます.
var a=100;
module.exports.a=a;
node 4.jsに導入するvar m5=require('./node5');// , module.export
console.log(m5);//{ a: 100 }
モジュールのスコープ内では、module.exportsのほかに、モジュールオブジェクトを内蔵しています.exportsは、彼が実はmodule.exportsです.console.log(module.exports==exports)//true
戻り値はtrueですと書いてもいいです.
exports.a=a;
入力結果は同じです定義されたいくつかの詳細は、できるだけそれらの引用関係を破壊しないようにします.
module.exports=[1,2,3]// , ,exports module.exports
exports=[1,2,3]//
7.グローバルオブジェクト中国語の文書と照らし合わせて勉強できます.
同前filename 和 __dirnameはグローバルではなく、モジュールローカルです.
つまり、次のように出力するということです.
console.log(__dirname);
console.log(__filename);
globalを入れてはいけません.filename この二つのecmascriptに規定されている基本的なデータのタイプを除いては、全体的には、配列array、日付dateです.
var d=new Date(); var arr=[1,2,3]
8、processプロセスの対象多くのパラメータが含まれています
process.argv コマンドラインのパラメータを含む配列です.最初の要素は「node」で、2番目のパラメータはJavaScriptファイルの名前で、3番目のパラメータは任意のコマンドラインパラメータです.
console.log(process.argv); //[ 'C:\\Program Files\
odejs\
ode.exe','d:\\wamp\\www\
odejs\
ode6.js' ]
process.execPath 現在のプロセスの実行ファイルの絶対パスを開きます.process.envはユーザー環境情報に戻ります.
process.versionはnodeバージョンの情報を返します.
process.versionsはnodeとその依存パケットのバージョン情報を返します.
process.pid 現在のプロセスのPID タスクマネージャの詳細情報pid
process.title現在のプロセスの表示名 (Getter/setter) 取得/設定
process.archは現在のCPUのアーキテクチャを返します.'arm'、'ia 32'または'x 64'
process.plotformは現在のオペレーティングシステムプラットフォームに戻ります.
process.cwd()は現在のプロセスのワークディレクトリを返します.
process.chdir(directory)は現在のプロセスの作業ディレクトリを変更します.
process.kill(pid)はプロセスにメッセージを送ります.
exit(code)終了
setInterval(function(){ var d=new Date(); console.log(' :'+ d.getFullYear()+' '+ (d.getMonth()+1)+' '+ d.getDay()+' '+ d.getHours()+':'+ d.getMinutes()+':'+ d.getSeconds()) },1000) setTimeout(function(){ process.exit() },5000)
process.memoryUsage() Nodeプロセスのメモリ使用状況を返します.単位はbyteです.文書を具体的に見る方法はまだたくさんあります.
9、stdin、stdout標準入出力ストリーム(IO)
---- 標準入力デバイス
---- 標準出力装置
---- stdinとstdoutは入力データと出力データを操作する方法を提供しています.私達も通常IO操作と呼ばれています.
stdin 標準入力ストリーム
stdout 標準出力ストリーム
process.stdout.write('hello');
function Log(data){ process.stdout.write(data); } Log(' ')
, ,
// , ,
process.stdin.resume(); //
process.stdin.on('data',function(chunk){ console.log(' '+chunk);//
});
実例:加減乗数を計算するvar a,b;
process.stdout.write(' a :');
process.stdin.on('data',function(chunk){
// a
if(!a){
a=Number(chunk);
process.stdout.write(' b :');
}
else{
b=Number(chunk);
process.stdout.write(' :'+(a+b));
}
});
10.Buffer類//new Buffer(size) size [number] Buffer ,
var bf=new Buffer(5);//5 Buffer , ,
console.log(bf);//<Buffer 00 00 00 00 80>
bf[1]=20;
console.log(bf);//<Buffer 00 14 00 00 80>
var bf=new Buffer([1,2,3,4]);
console.log(bf);//<Buffer 01 02 03 04>
bf[10]=10;//
console.log(bf);//<Buffer 01 02 03 04> ,
var bf=new Buffer('miaov','utf-8');
console.log(bf);//<Buffer 6d 69 61 6f 76>
var bf=new Buffer('miaov','utf-8');
console.log(bf);//<Buffer 6d 69 61 6f 76>
// bf.length
for(var i=0;i<bf.length;i++){
console.log(String.fromCharCode(bf[i]));
/* m
i
a
o
v
*/
}
//
var str1='miaov';
var bf1=new Buffer(str1);
console.log(str1.length); //5
console.log(bf1.length); //5
var str2=' ';
var bf2=new Buffer(str2);
console.log(str2.length);//2
console.log(bf2.length);//6
buf.length このブザーのbytes数を返します.buf[index] index位置を指定する8バイトを取得または設定します.
buf.write(string[,offset][,length][,encoding]) パラメータoffsetオフセットと指定されたencoding符号化方式に基づいて、パラメータstringデータをbufferに書き込みます.