node.js

node.js 介绍

node.js是一个基于Chrome V8引擎的JavaScript运行环境

node.js使用了一个事件驱动、非阻塞式I/O的模型,使其轻量又高效

简单说就是node.js就是一个服务器端的JavaScript运行环境,可以让程序员,做后台服务器编程开发

node.js中包括 ECMAScript核心 全局成员 核心api

全局成员 console setinterval setTimeout

核心API模块 是node平台单独提供的一些api,node中没有DOM跟BOM

node 文件路径 就可以在node环境下执行js脚本
为了方便使用在终端在中输入cls可以清屏

REPL环境 用户可以在其中输入任意的合法的js代码,按node+enter就可以进入REPL环境

ECMAScript6常用语法

var存在变量提升的问题,用var定义变量,var变量没有块级作用域,容易照成变量污染 使用var定义的变量没有{}作用域

let声明变量没有变量提升 let声明的变量只能在其作用域类使用

const 定义常量,一旦设置不能够修改,也不存在变量提升问题只有在顶以后才能够使用,也有块级作用域

1
2
3
4
5
6
7
8
9
10
11
12
13
for (var i = 0; i < 10; i++) {

}
console.log(i);
//输出结果为10因为是用var定义的没有块级作用域,变量i应该在{}中有效才对
for (let i = 0; i < 10: i++) {

}
console.log(i)
//会报错,因为let定义的变量只有在其所在的跨级作用域内才有效
const i = 10;
var i = 1;
//会报错因为const一旦设置就不能够修改,所以在循环语句中不能够用const来定义变量不然就会报错

解构复制语法

let{name} = user
所谓的解构赋值,就是把某个对象中的属性,当作变量给解放出来,这样在后面就可以当作变量直接使用了

箭头函数

(形参列表) => {

​ 函数代码

}
箭头函数的本质就是一个匿名函数,在箭头函数中,this永远和箭头函数外部的this一致

如果想要给箭头函数赋予名字,可以定义一个变量,将箭头函数赋值给变量

箭头函数的变体

  1. 如果左侧只有一个参数小括号可以省略

    1
    2
    3
    4
     var str = x => {
    var i = 10;
    console.log(i);
    }

  2. 如果右侧只有一行代码{}可以省略,会默认执行return所以return必须要去掉

    1
    var add = (x,y) => console.log(x + y);

  3. 如果左侧只有一个参数,并且右侧只有一行代码,()跟{}都可以省略,return也必须要去掉

    1
    var add = x => console.log(x + 10);

ES6

  1. 字符串拓展 startWidth和endWidth
    var str = ‘adfdasfg’
    startWidth判断是否以某一段字符开始 返回true或者false
    endWidth判断是否以某一段字符结束 返回true或者false

  2. 字符填充padStart和padEnd
    str.padStart(29,’cd’)
    第一个参数是填充之后字符串的总长度
    第二个参数是要填充的字符

  3. 模板字符串

  4. 函数拓展,参数默认值

    function fn(a) {
    var a = a || 10
    return a
    }
    function fn(a =10) {

    }
    fn()

  5. 展开运算符
    合并数组、合并对象
    var arr1 = [11,22,33]
    var arr2 = [33,44,55]
    var arr3 = [66,88,…arr1,..arr2]
    var arr = [11,22,11,22,44,55,44]
    var ss = new Set(arr)
    Set提供一个构造函数,唯一的
    Array.from(ss) 将类似于数组的东西转换为数组

文章目录
  1. 1. node.js 介绍
  2. 2. ECMAScript6常用语法
    1. 2.1. 解构复制语法
    2. 2.2. 箭头函数
|