问题遇到的现象和发生背景
为什么if(){return}里面return了以后,后面的代码也不会执行了呢?
是因为if 没有形成作用域吗?所以在里面return 其实和在外面return是一个结果
问题相关代码,请勿粘贴截图
fs.readFile('./成绩.txt',(err,data) => {
if (err) {
console.log(err.message)
return
} else {
//console.log('数据:'+ data);
// 到这里读取文件成功,往下是处理数据
// 4.1 先把处理的数据, 按照空格进行分割成数组
const arr = data.toString().split(' ')
// 4.2 循环分割后的数组,对每一项数据,进行字符串的替换操作
const newArr = []
for (let i = 0;i < arr.length; i++) {
newArr[i] = arr[i].replace('=',': ')
}
// 4.3 把新数组中的每一项,进行合并,得到一个新的字符串
const newData = newArr.join('\n')
fs.writeFile('./成绩-ok.txt',newData,(err) => {
if (err) {
console.log('写入失败'+err.message)
} else {
console.log('写入成功!');
}
})
}
})
这样我能理解,下面这个我就理解不了了
fs.readFile('./成绩1.txt',(err,data) => {
if (err) {
console.log(err.message)
return
}
//console.log('数据:'+ data);
// 到这里读取文件成功,往下是处理数据
// 4.1 先把处理的数据, 按照空格进行分割成数组
const arr = data.toString().split(' ')
// 4.2 循环分割后的数组,对每一项数据,进行字符串的替换操作
const newArr = []
for (let i = 0;i < arr.length; i++) {
newArr[i] = arr[i].replace('=',': ')
}
// 4.3 把新数组中的每一项,进行合并,得到一个新的字符串
const newData = newArr.join('\n')
fs.writeFile('./成绩-ok.txt',newData,(err) => {
if (err) {
console.log('写入失败'+err.message)
} else {
console.log('写入成功!');
}
})
})