有些差異 • 所有⽅方法都是 public 的,沒有 private 和 protected 屬性 function Person(name){ this.name = name; }; Person.prototype.say = function(){ console.log('My name is ' + this.name); }; var jack = new Person('Jack'); jack.say(); // My name is Jack 12
require('util'); function Girl(name){ Person.call(this, name); // super(name) } util.inherits(Girl, Person); Girl.prototype.sleep = function(){ console.log(this.name + ' is sleeping...'); }; var jane = new Girl('Jane'); jane.say(); // My name is Jane jane.sleep(); // Jane is sleeping... 13
⽀支援類似 printf() 的⽂文字格式化 • %s - 字串 • %d - 數字 • %j - JSON 19 console.log('Hello world'); // Hello world console.log('%s is %d years old', 'Andy', 9); // Andy is 9 years old
fs = require('fs'); var src = fs.createReadStream('a.txt'); var dest = fs.createWriteStream('b.txt'); src.pipe(dest); W R I TA B L E R E A D A B L E fs.createReadStream(‘a.txt’) fs.createWriteStream(‘b.txt’) → P I P E → src dest
= require('http'); var fs = require('fs'); http.createServer(function(req, res){ var stream = fs.createReadStream('a.txt'); stream.pipe(res); }).listen(4000); W R I TA B L E R E A D A B L E fs.createReadStream(‘a.txt’) HTTP response → P I P E → stream res