var fs=require('fs');
var files =['a.txt','b.txt','c.txt'];
// for (var i = 0; i < files.length; i++) {
//事實上fs.readFile的回調函數中訪問到的i值都是循環退出之後的
//緣由是3次讀取文件的回調函數事實上是同一個實例,其中引用到的i值是上面循環執行結束後的值
// fs.readFile(files[i],'utf-8',function(err,conetens){
// console.log(files[i]+": "+conetens);
// });
// }
for循環的輸出結果:
undefined: AAA
undefined: BBB
undefined: CCC
//大多數狀況下咱們能夠用數組的forEach方法解決這個問題
files.forEach(function(filename){
fs.readFile(filename,'utf-8',function(err,conetens){
console.log(filename+": "+conetens);
});
});
forEach輸出結果:a.txt: AAA b.txt: BBB c.txt: CCC