nodejs入门
1.1-什么是nodejs
Node是一个构建于Chrome V8引擎上的一个JavaScript运行环境
Node是一个运行环境,作用是让js拥有开发服务端的功能 Node使用事件驱动,非阻塞IO模型(异步读写)使得它非常轻量级和高效
Node中绝大多数API都是异步(类似于Ajax),目的是提高性能 Node中的NPM是世界上最大的开源库生态系统(类似于gitHub)
1.2-Node.js环境安装
1.2.1-如何判断自己当前电脑是否已经安装了Node环境
打开终端,输入node - v如果能看到版本号则说明当前电脑已经安装Node环境一旦安装了node,则会自动一并安装npm
1.3-如果运行Node.js程序
REPL:交互解释器
Node运行环境的另一种叫法,作业是解析执行js代码(不推荐)用法:
第一种方式:直接双击打开node.exe然后写js代码第二种方式:
先在终端先执行node,进入node环境然后写js代码 使用终端命令node[js文件路径]开始运行js文件
其实当我们在终端执行Node命令时,并不是我们终端去编译解释js代码,而是电脑会自动打开Node安装包中Node.exe应用程序来打开js文件
Node.exe是一个类似于终端的应用程序,没有界面Node.exe工作环境称之为REPL环境,也就是交互式解释器 REPL才是珍重解释执行我们js代码的解释器
1.4- 服务器端js和浏览器端js
1.js都是运行在浏览器端的
ECMScript:js语法
Bom:浏览器对象模型,用js去操作浏览器窗口
Dom:文档对象模型,用js去操作页面上的Dom树
学了node.js之后, 服务端也可以运行ECMScript
在node.js中不能写BOM和Dom语法
var name
= "aaa"
console
.log(name
)
alert(name
)
ES6新语法
1-let关键字和const关键字
var 关键字声明变量let 关键字声明变量const关键字声明常量
有变量提升没有变量提升没有变量提升没有块级作用域,是函数作用域有块级作用域有块级作用域可以重复声明不能重复声明不能重复声明可以重新赋值可以重新赋值不能重新赋值,声明时必须要初始化值
2-对象解构赋值
let obj
= {
name
: "aaa",
age
: 30,
gender
: "男",
score
: 100
}
let {
name
,
age
,
gender
,
score
} = obj
console
.log(name
, age
, gender
, score
)
3-数组解构
let arr
= [10, 20, 30, 40]
let [num1
, num2
] = arr
console
.log(num1
, num2
)
console
.log(arr
[3])
4-解构赋值结合函数声明
function text2({
name
,
age
,
gender
}) {
console
.log(name
, age
, gender
)
}
text2({
name
: "aaa",
age
: 30,
gender
: "男"
})
5-箭头函数
6-对象成员的简写
let name
= "小明"
let age
= 18
let gender
= "男"
let score
= 100
let obj
= {
name
,
age
,
gender
,
score
,
sayHi() {
console
.log("哈哈哈哈")
}
}
console
.log(obj
)
obj
.sayHi()
7-对象展开
let chinese
= {
skin
: "黄皮肤",
hair
: "黑色头发",
sayHi() {
console
.log("你好")
}
}
let zhuBo
= {
skill
: "唱歌",
song
: "姬霓太美",
}
let linge
= {
...chinese
,
...zhuBo
}
console
.log(linge
)
8-数组展开
let arr1
= [1, 2, 3, 4]
let arr2
= [...arr1
, 5, 6, 7, 8]
console
.log(arr2
)
9-数据类型Set
let arr
= [10, 20, 3, 3, 3, 225234, 25235, 24]
let arrNew
= [...new Set(arr
)]
console
.log(arrNew
)
10-模板字符串
let auther
= "aaa"
let str1
= `
我是小明
作者: $(auther)
`
console
.log(str1
)
11-补充数组的几个方法
let arr
= [10, 20, 30, 40, 40, 234, 10, 40]
let arrNew
= arr
.filter((item
, index
) => {
return item
% 2 == 0
})
console
.log(arrNew
)
em, index) // })
//2.map() 遍历数组,用返回值 // let arr = [10, 20, 30, 40] // let arrNew = arr.map(function (iten, index) { // //item为数组中的每个元素,index为每个元素的索引 // console.log(item, index) // return item * item //返回值 // }) // console.log(arrNew)
//3.filter()过滤器 //filter()会返回一个新的数组,新的数组中的元素是通过检查后符合条件的元素 let arr = [10, 20, 30, 40, 40, 234, 10, 40] let arrNew = arr.filter((item, index) => { //item为数组中的每个元素,index为每个元素的索引 return item % 2 == 0 }) console.log(arrNew)