黑马程序员技术交流社区

标题: 笔记 [打印本页]

作者: 谁是谁@    时间: 2019-6-21 13:14
标题: 笔记
什么是 Node.js(我们自己给它下个定义)
就是一个服务器端的Javascript运行环境,可以让程序员,通过 Javascript 做 后台服务器编程开发

let(变量) 与 const(常量)
之前定义变量,用 var 关键字;有如下主要缺点:
存在变量提升问题,降低 js 代码的可阅读性
没有块级作用域,容易造成变量污染
let 主要特性:
不存在变量提升问题,只有定义之后才能使用此变量
有 { } 作用域
const 主要特性:
不存在变量提升问题,只有定义之后才能使用此变量
const 定义的常量,无法被重新赋值
当定义常量的时候,必须定义且初始化,否则报语法错误
const 定义的常量,也有 块级作用域

变量的解构赋值(常用)
定义:所谓的解构赋值,就是把 某个对象中的属性,当作变量,给解放出来,这样,今后就能够当作变量直接使用了;
  // 变量的解构赋值
  const { name : name123, age, gender } = person
  console.log(name123)
let a = {
    name: 'fd',
    age: 18,
    gender: '女'
  }
  let { name: username, age: oneage } = a;
   console.log(username);

箭头函数(常用)

把方法定义为箭头函数(最完整的写法)
                 (形参列表) => { 函数体代码 }
箭头函数,本质上就是一个匿名函数;
箭头函数的特性: 箭头函数内部的 this, 永远和 箭头函数外部的 this 保持一致;
变体:
变体1:如果箭头函数,左侧的形参列表中,只有一个参数,则,左侧小括号可以省略;
变体2:如果右侧函数体中,只有一行代码,则,右侧的 { } 可以省略;
变体3:如果箭头函数左侧 只有一个 形参,而且右侧只有一行代码,则 两边的 () 和 {} 都可以省略
注意: 如果我们省略了 右侧函数体的 { },那么,默认会把 右侧函数体中代码的执行结果,当作箭头函数的调用结果 return 出去;


文件操作


文件读取
fs.readFile
const fs = require('fs');
fs.readFile('./Files/3.txt', 'utf-8', function(err, data) {
    if (err) {
        return console.log('读取文件失败' + err.message);
    }
    console.log('成功' + data);
})
文件写入
fs.writeFile
const fs = require('fs');
fs.writeFile('Files/3.txt', '666666', 'utf-8', function(err) {
    if (err) {
       return console.log('失败' + err.message);
    }
    console.log('成功' + err);
})

文件追加
fs.appendFile

读取文件信息  
fs.stat
const fs = require('fs');
fs.stat(__dirname + '/Files/3.txt', (err, data) => {
    if (err) return console.log(err.message);
    console.log(data.size);
});

复制文件
fs.copyFile('拷贝的文件路径',’拷贝完的文件路径',callback)

拼接路径
path.join([...paths])

const fs = require('fs');
const path = require('path');
fs.stat(path.join(__dirname, '/Files/3.txt'), (err, data) => {
    if (err) return console.log(err.message);
    console.log(data.size);
});






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2