区块链-前端交互第二篇:NodeJS 认知和 JS 基础语法

Posted 区块链市场观察家

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了区块链-前端交互第二篇:NodeJS 认知和 JS 基础语法相关的知识,希望对你有一定的参考价值。

文章目录

初步认识 NodeJS

javascript 是什么

参考文章:JavaScript 简介-中文网

什么编程语言:JavaScript 是一种 解释型 编程语言。

执行环境:JavaScript 如今不仅可以在浏览器中执行,也可以在服务端执行,甚至可以在任意搭载了 JavaScript 引擎 的设备中执行。

JS与Python/php有什么区别:php是一个服务端语言,而JavaScript是一个客户端语言。

核心理解:NodeJS是什么

参考文章:php和nodejs的区别是什么?

NodeJS与PHP有什么区别:

  • Node.js是一个基于Chrome V8引擎的JavaScript运行环境,一个 让 JavaScript 运行在服务端 的开发平台, 用于方便地搭建响应速度快、易于扩展的网络应用。
  • Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。Node 使用事件驱动, 非阻塞I/O 模型而得以轻量和高效,非常适合在分布式设备上运行数据密集型的实时应用。

小结

翻了五六篇文章,突然发现 3 个核心问题 JavaScript 是什么NodeJS是什么php和nodejs的区别是什么?。把笔记精简一下,只留下这三个核心问题的解答,足够了。

初步认识 JavaScript

参考文章:JavaScript 简介-中文网,官网的介绍太清晰辣。

简介:理解JS脚本运行环境

解释型脚本:脚本被以纯文本的形式提供和执行。它们不需要特殊的准备或编译即可运行。

执行环境:如今,JavaScript 不仅可以在浏览器中执行,也可以在服务端执行,甚至可以在任意搭载了 JavaScript 引擎 的设备中执行。

引擎类型:浏览器中嵌入了 JavaScript 引擎,有时也称作“JavaScript 虚拟机”。不同的引擎有不同的“代号”,例如:

  • V8 —— Chrome、Opera 和 Edge 中的 JavaScript 引擎。
  • SpiderMonkey —— Firefox 中的 JavaScript 引擎。

JavaScript 的能力很大程度上取决于它运行的环境。例如:

  • Node.js 支持允许 JavaScript 读取/写入任意文件,执行网络请求等的函数。
  • 浏览器中的 JavaScript 可以做与网页操作、用户交互和 Web 服务器相关的所有事情。

基础语法

参考:数据类型-JS中文网

变量

使用 var、let 或 const 声明变量来存储数据:

  • let — 现代的变量声明方式;
  • var — 老旧的变量声明方式。一般情况下,我们不会再使用它;
  • const — 类似于 let,但是变量的值无法被修改。
不限制变量的数据类型

“动态类型”(dynamically typed)编程语言:虽然编程语言中有不同的数据类型,但是你定义的变量并不会在定义后,被限制为某一数据类型。(比如Python和JavaScript)

反引号和 $表达式

在 JavaScript 中,有三种包含字符串的方式。其中 反引号功能扩展 引号,它们允许我们通过将 变量和表达式 包装在 $… 中,来将它们嵌入到字符串中,例如:

let name = "John";

// 嵌入一个变量
alert( `Hello, $name!` ); // Hello, John!

// 嵌入一个表达式
alert( `the result is $1 + 2` ); // the result is 3
两个特殊值

特殊值:

  • JavaScript 中的 null 仅仅是一个代表“无”、“空”或“值未知”的特殊值;
  • undefined 的含义是 未被赋值。
八种数据类型

JavaScript 中有八种数据类型(译注:前七种为基本数据类型,也称为原始数据类型,而 object 为复杂数据类型):

  • 七种原始数据类型:
    • number 用于任何类型的数字:整数或浮点数,在 ±(2的53次方-1) 范围内的整数。
    • bigint 用于任意长度的整数。(安全表达16位以上的整数)
    • string 用于字符串:一个字符串可以包含 0 个或多个字符,所以没有单独的单字符类型。
    • boolean 用于 true 和 false。
    • null 用于未知的值 —— 只有一个 null 值的独立类型。
    • undefined 用于未定义的值 —— 只有一个 undefined 值的独立类型。
    • symbol 用于唯一的标识符。
  • 以及一种非原始数据类型:
    • object 用于更复杂的数据结构。

我们可以通过 typeof 运算符查看存储在变量中的数据类型。

  • 通常用作 typeof x,但 typeof(x) 也可行。
  • 以字符串的形式返回类型名称,例如 “string”。
  • typeof null 会返回 “object” —— 这是 JavaScript 编程语言的一个错误,实际上它并不是一个 object。

关键词小结

作用关键词
定义变量let / var / const
查看变量类型typeof
可执行的表达式符号$
安全表达16位以上的整数bigint
合并字符串+

以上是关于区块链-前端交互第二篇:NodeJS 认知和 JS 基础语法的主要内容,如果未能解决你的问题,请参考以下文章

区块链-前端交互第四篇:认识 ethers.js并运行测试代码

区块链-前端交互第三篇:JS 基础语句和函数对象和类class

区块链-前端交互第三篇:JS 基础语句和函数对象和类class

区块链-前端交互第一篇:使用python交互以太测试网(奔向JS)

区块链-智能合约工程师第二篇:Solidity入门

区块链-智能合约工程师第二篇:Solidity入门