NodeJS学习笔记一
简介:
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。Node.js 的包管理器 npm,是全球最大的开源库生态系统。
Node v4这个版本是Node和iojs合并后发布的首个稳定版本,并且为开发者带来了大量的ES6语言扩展。了解 Node.js中包括的ES6语言扩展。本课将会为你介绍如何使用这些新特性。
Node.js 4.0.0 可以让您享受最尖端的技术,保持项目的先进性。其中对 v8 的升级几乎做到了与 Chromium / Google Chrome 同步,达到了 4.5.x,它提供了很多新的语言功能。ECMA-262 是 JavaScript 语言规范的最新版本,而且好多新特性数都是开箱即用的。这些新特性包括:
- classes - 各种 ‘类’,再也无需用 CoffeeScript 的语法糖写类了
- generators - 未来的.js 代码中将有无数生成器,不学一点就看不懂 JS 代码了哦
- collections - 集合、映射、弱集合、弱映射
- arrow functions - 箭向函数
- block scoping - 使用 let 、const 作用域,块辖域
- template strings - 模板字串
- promises - 用标准化了的方法进行延迟和异步计算
- symbols - 唯一的、不可修改的数据
let&var的区别:
'use strict'; var a = 5; var b = 10; if (a === 5) { let a = 4; // The scope is inside the if-block var b = 1; // The scope is inside the function console.log(a); // 4 console.log(b); // 1 } console.log(a); // 5 console.log(b); // 1 for (let i = 0;i<10;i++) { console.log(i); } console.log(i); console.log("let&var的区别============="); for (var i = 0;i<10;i++) { console.log(i); } console.log(i);运行的结果:
12345678910111213141516171819202122232425262728>
> 4
> 1
> 5
> 1
> 0
> 1
> 2
> 3
> 4
> 5
6
7
8
9
undefined
let
&
var
的区别=============
0
1
2
3
4
5
6
7
8
9
10
const
const这个声明创建一个常量,可以全局或局部的函数声明。
一个常量可以是全局的或者是局部的,常量遵循与变量相同的作用域规则。
一个常量不可以被重新赋值,并且不能被重复声明.所以,虽然可以在声明一个常量的时候不进行初始化,但这样做是没有意义的,因为这个常量的值永远会保持undefined。
一个常量不能和它所在作用域内的其他变量或函数拥有相同的名称。
123const num = 10;
num =20;
console.log(num);
// 10
如果我们在上面声明常量num,在声明var num,这时会报错,num已经声明。
123const num = 10;
var
num = 20;
console.log(num);
// 'num' has already been declared
块级作用域
很多语言中都有块级作用域,JavaScript使用var声明变量,以function来划分作用域,大括号“{}” 却限定不了var的作用域。用var声明的变量具有变量提升(declaration hoisting)的效果。
ES6里增加了一个let,可以在{}, if, for里声明。用法同var,但作用域限定在块级,let声明的变量不存在变量提升。
123456789101112'use strict'
;
function
f1() {
var
a = 1;
let
n = 2;
if
(
true
) {
var
a = 20;
let
n = 10;
}
console.log(n);
// 2
console.log(a);
// 20
}
f1();
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步