nodejs Tips7

13、
js的面向對象是基於原型的,並沒有提供對象繼承的語言特性,繼承是通過原型複製來實現的。

繼承僅僅繼承原型鏈上的,構造函數內定義的屬性和函數沒有被繼承。


//16.1.12.js
var util = require('util');

function Base() {
	this.x = 10;
	this.y = 5;
	this.add = function() {
		console.log("求和值爲: " + (this.x + this.y));
	}
}

Base.prototype.muli = function() {
	console.log("乘法值爲: " + (this.x * this.y));
}

function iBase() {
	this.x = 11;
	this.y = 12;
}

util.inherits(iBase, Base);
var b = new Base();
console.log(b);
b.add();
b.muli();

var c = new iBase();
console.log(c);
c.muli();

//***********************
//util.inspect並不會簡單地直接把對象轉換爲字符串,即使該對象定義了toString方法也不會調用。
console.log(util.inspect(b, true));

//util.isArray(obj) 判斷一個對象是不是數組
//util.isRegExp(object) 判斷一個對象是不是正則表達式
//util.isDate(object) 判斷一個對象是不是日期


nodejs 文件操作fs

//16.1.11.3_1.js

//nodejs file文件操作
var fs = require('fs');
var buf = new Buffer(1024);

//異步讀取
fs.readFile('input.txt', function(err, data) {
	if (err) {
		return console.error(err);
	}

	console.log("異步讀取: " + data.toString());
});

//同步讀取
var data = fs.readFileSync('input.txt');
console.log("同步讀取: " + data.toString());

console.log("Part1 End");

//
fs.open('input.txt', 'r+', function(err, fd) {
	if (err) {
		return console.error(err);
	}

	fs.read(fd, buf, 0, buf.length, 0, function(err, bytes) {
		if (err) {
			console.log(err);
		}
		// 僅輸出讀取的字節
		if (bytes.length > 0) {
			console.log(buf.slice(0, bytes).toString());

		}
		//關閉文件
		fs.close(fd, function(err) {
			if (err) {
				console.log(err);
			}
			console.log("文件關閉成功");
		})
	});
});


//fs.ftruncate(fd, len, callback)  異步模式下截取文件
//fs.unlink(path, callback)  刪除文件
//fs.mkdir(path[, mode], callback)  創建目錄
//fs.rmdir(path, callback)

fs.mkdir('/test/tmp', function() {
	console.log("創建目錄成功");
});

fs.rmdir('/test/tmp', function() {
	console.log("刪除目錄成功");
});










文件模塊方法參考手冊

以下爲 Node.js 文件模塊相同的方法列表:

序號 方法 & 描述
1 fs.rename(oldPath, newPath, callback)
異步 rename().回調函數沒有參數,但可能拋出異常。
2 fs.ftruncate(fd, len, callback)
異步 ftruncate().回調函數沒有參數,但可能拋出異常。
3 fs.ftruncateSync(fd, len)
同步 ftruncate()
4 fs.truncate(path, len, callback)
異步 truncate().回調函數沒有參數,但可能拋出異常。
5 fs.truncateSync(path, len)
同步 truncate()
6 fs.chown(path, uid, gid, callback)
異步 chown().回調函數沒有參數,但可能拋出異常。
7 fs.chownSync(path, uid, gid)
同步 chown()
8 fs.fchown(fd, uid, gid, callback)
異步 fchown().回調函數沒有參數,但可能拋出異常。
9 fs.fchownSync(fd, uid, gid)
同步 fchown()
10 fs.lchown(path, uid, gid, callback)
異步 lchown().回調函數沒有參數,但可能拋出異常。
11 fs.lchownSync(path, uid, gid)
同步 lchown()
12 fs.chmod(path, mode, callback)
異步 chmod().回調函數沒有參數,但可能拋出異常。
13 fs.chmodSync(path, mode)
同步 chmod().
14 fs.fchmod(fd, mode, callback)
異步 fchmod().回調函數沒有參數,但可能拋出異常。
15 fs.fchmodSync(fd, mode)
同步 fchmod().
16 fs.lchmod(path, mode, callback)
異步 lchmod().回調函數沒有參數,但可能拋出異常。Only available on Mac OS X.
17 fs.lchmodSync(path, mode)
同步 lchmod().
18 fs.stat(path, callback)
異步 stat(). 回調函數有兩個參數 err, stats,stats 是 fs.Stats 對象。
19 fs.lstat(path, callback)
異步 lstat(). 回調函數有兩個參數 err, stats,stats 是 fs.Stats 對象。
20 fs.fstat(fd, callback)
異步 fstat(). 回調函數有兩個參數 err, stats,stats 是 fs.Stats 對象。
21 fs.statSync(path)
同步 stat(). 返回 fs.Stats 的實例。
22 fs.lstatSync(path)
同步 lstat(). 返回 fs.Stats 的實例。
23 fs.fstatSync(fd)
同步 fstat(). 返回 fs.Stats 的實例。
24 fs.link(srcpath, dstpath, callback)
異步 link().回調函數沒有參數,但可能拋出異常。
25 fs.linkSync(srcpath, dstpath)
同步 link().
26 fs.symlink(srcpath, dstpath[, type], callback)
異步 symlink().回調函數沒有參數,但可能拋出異常。 type 參數可以設置爲 'dir', 'file', 或 'junction' (默認爲 'file') 。
27 fs.symlinkSync(srcpath, dstpath[, type])
同步 symlink().
28 fs.readlink(path, callback)
異步 readlink(). 回調函數有兩個參數 err, linkString。
29 fs.realpath(path[, cache], callback)
異步 realpath(). 回調函數有兩個參數 err, resolvedPath。
30 fs.realpathSync(path[, cache])
同步 realpath()。返回絕對路徑。
31 fs.unlink(path, callback)
異步 unlink().回調函數沒有參數,但可能拋出異常。
32 fs.unlinkSync(path)
同步 unlink().
33 fs.rmdir(path, callback)
異步 rmdir().回調函數沒有參數,但可能拋出異常。
34 fs.rmdirSync(path)
同步 rmdir().
35 fs.mkdir(path[, mode], callback)
S異步 mkdir(2).回調函數沒有參數,但可能拋出異常。 mode defaults to 0777.
36 fs.mkdirSync(path[, mode])
同步 mkdir().
37 fs.readdir(path, callback)
異步 readdir(3). 讀取目錄的內容。
38 fs.readdirSync(path)
同步 readdir().返回文件數組列表。
39 fs.close(fd, callback)
異步 close().回調函數沒有參數,但可能拋出異常。
40 fs.closeSync(fd)
同步 close().
41 fs.open(path, flags[, mode], callback)
異步打開文件。
42 fs.openSync(path, flags[, mode])
同步 version of fs.open().
43 fs.utimes(path, atime, mtime, callback)
 
44 fs.utimesSync(path, atime, mtime)
修改文件時間戳,文件通過指定的文件路徑。
45 fs.futimes(fd, atime, mtime, callback)
 
46 fs.futimesSync(fd, atime, mtime)
修改文件時間戳,通過文件描述符指定。
47 fs.fsync(fd, callback)
異步 fsync.回調函數沒有參數,但可能拋出異常。
48 fs.fsyncSync(fd)
同步 fsync.
49 fs.write(fd, buffer, offset, length[, position], callback)
將緩衝區內容寫入到通過文件描述符指定的文件。
50 fs.write(fd, data[, position[, encoding]], callback)
通過文件描述符 fd 寫入文件內容。
51 fs.writeSync(fd, buffer, offset, length[, position])
同步版的 fs.write()。
52 fs.writeSync(fd, data[, position[, encoding]])
同步版的 fs.write().
53 fs.read(fd, buffer, offset, length, position, callback)
通過文件描述符 fd 讀取文件內容。
54 fs.readSync(fd, buffer, offset, length, position)
同步版的 fs.read.
55 fs.readFile(filename[, options], callback)
異步讀取文件內容。
56 fs.readFileSync(filename[, options])<br同步版的 fs.readfile.<="" td="">
57 fs.writeFile(filename, data[, options], callback)
異步寫入文件內容。
58 fs.writeFileSync(filename, data[, options])
同步版的 fs.writeFile。
59 fs.appendFile(filename, data[, options], callback)
異步追加文件內容。
60 fs.appendFileSync(filename, data[, options])
The 同步 version of fs.appendFile.
61 fs.watchFile(filename[, options], listener)
查看文件的修改。
62 fs.unwatchFile(filename[, listener])
停止查看 filename 的修改。
63 fs.watch(filename[, options][, listener])
查看 filename 的修改,filename 可以是文件或目錄。返回 fs.FSWatcher 對象。
64 fs.exists(path, callback)
檢測給定的路徑是否存在。
65 fs.existsSync(path)
同步版的 fs.exists.
66 fs.access(path[, mode], callback)
測試指定路徑用戶權限。
67 fs.accessSync(path[, mode])
同步版的 fs.access。
68 fs.createReadStream(path[, options])
返回ReadStream 對象。
69 fs.createWriteStream(path[, options])
返回 WriteStream 對象。
70 fs.symlink(srcpath, dstpath[, type], callback)
異步 symlink().回調函數沒有參數,但可能拋出異常。




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章