※Buffer
官網連結// const buf = require('buffer').Buffer(6, 'utf8');
const buffer = require('buffer');
// 以下四種方法,長度都是6
var buf = buffer.Buffer(6, 'utf8');
// var buf = buffer.Buffer('az4_e)', 'utf8');
// var buf = buffer.Buffer(['a',4,'z',99, 'xxx', '%'], 'utf8');
/*
var xf = buffer.Buffer(6, 'utf8');
var buf = buffer.Buffer(xf);
*/
console.log('length0='+ buf.length);
var len = buf.write("abc");
console.log('length1='+ len);
for(var i=0; i<len; i++){
console.log(buf[i]);
}
len = buf.write("12");
console.log('length2='+ len);
for(var i=0; i<len; i++){
console.log(buf[i]);
}
len = buf.write("一二");
console.log('length3='+ len);
for(var i=0; i<len; i++){
console.log(buf[i]);
}
len = buf.write("\r\n");
console.log('length4='+ len);
for(var i=0; i<len; i++){
console.log(buf[i]);
}
※第一行的寫法,我改成第二行的寫法,然後直接.Buffer,或者都不要require,直接new Buffer(6)也是可以
※第二個參數,預設就是utf8,所以可以不打
※length3是中文,utf8一個佔3B,所以如果給5個長度,它會變成3
但我將此js檔也用utf8存的,用別的會怪怪的
※write第2、3個參數是起始結束,可是一設定以後,就沒有辦法再改了
※buf[i]是ascii,可以用String.fromCharCode(buf[i])轉,但中文不行
※toString
const buffer = require('buffer');
var buf = buffer.Buffer(60, 'utf8');
console.log('length0='+ buf.length);
var len = buf.write("abcdefghijk");
console.log('length='+ len);
for(var i=0; i<len; i=i+2){
console.log(buf.toString('utf8', i, i+2) + '\r\n');
}
※直接印出裡面的字(abcde...)
※Modules
官網連結※exportsTest.js
module.exports = {
name : 'chess',
price : 50,
company : [
'A',
'B',
'C'
]
};
※先寫一支檔案
※引用檔案
var exports = require('./exportsTest.js');
for(var e in exports){
console.log('key=' + e);
console.log('value=' + exports[e] + '\r\n');
}
※.是當前目錄,就是和node xxx同個目錄,不是dos上的目錄
※.js可以不用加,但如果有一支檔案叫exportsTest會先抓這支檔案,沒有抓到才會抓.js的
官網有說,如果找不到,就會就檔名加上.js->.json->.node,都沒有才是錯,以這個例子.json和.node是不能用的
※原型模組
var count = 0;
var xxx = module.exports = function(){
this.count = 0;
}
xxx.prototype.ooo = function(){
this.count++;
}
※先寫一支檔案,我將剛剛的拿來改
※引用檔案
var exports = require('./exportsTest.js');
var x = new exports();
x.ooo();
x.ooo();
console.log(x.count);
※結果是2
※Web
官網範例複製好後,在命令提示字元輸入node xxx會停在那裡,然後到瀏覽器打127.0.0.1:3000就會看到Hello World了
沒有留言:
張貼留言