※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了
沒有留言:
張貼留言