语法
Syntax定义了编写程序的规则集。 每种语言规范都定义了自己的语法。
JavaScript程序可以由 -
Variables - 表示可以存储程序值的命名内存块。
Literals - 表示常数/固定值。
Operators - 定义如何处理操作数的符号。
Keywords - 在语言环境中具有特殊含义的词。
下表列出了JavaScript中的一些关键字。 下表列出了一些常用关键字。
break | as | any | Switch |
case | if | throw | Else |
var | number | string | Get |
module | type | instanceof | Typeof |
finally | for | enum | Export |
while | void | this | New |
null | super | Catch | let |
static | return | True | False |
Modules - 表示可以跨不同程序/脚本重用的代码块。
Comments - 用于提高代码可读性。 这些被JavaScript引擎忽略。
Identifiers - 这些是给变量,函数等程序中的元素赋予的名称。标识符的规则是 -
标识符可以包括字符和数字。 但是,标识符不能以数字开头。
除下划线(_)或美元符号($)外,标识符不能包含特殊符号。
标识符不能是关键字。 它们必须是独一无二的
标识符区分大小写。 标识符不能包含空格。
下表说明了一些有效和无效的标识符。
有效标识符的示例 | 无效标识符的示例 |
---|---|
名字 名字 NUM1 $结果 | 瓦尔# 名字 名字 1NUMBER |
空白和换行
ES6忽略程序中出现的空格,制表符和换行符。 您可以在程序中自由使用空格,制表符和换行符,并且可以自由地以简洁一致的方式格式化和缩进程序,使代码易于阅读和理解。
JavaScript区分大小写
JavaScript区分大小写。 这意味着JavaScript区分大写和小写字符。
分号是可选的
每行指令都称为statement 。 分号在JavaScript中是可选的。
例子 (Example)
console.log("hello world")
console.log("We are learning ES6")
单行可以包含多个语句。 但是,这些语句必须用分号分隔。
JavaScript中的评论
Comments是提高程序可读性的一种方法。 注释可用于包括有关程序的其他信息,如代码的作者,有关函数/构造的提示等。编译器会忽略注释。
JavaScript支持以下类型的注释 -
Single-line comments (//) - //和行尾之间的任何文本都被视为注释。
Multi-line comments (/* */) - 这些注释可能跨越多行。
例子 (Example)
//this is single line comment
/* This is a
Multi-line comment
*/
您的第一个JavaScript代码
让我们从传统的“Hello World”示例开始“。
var message = "Hello World"
console.log(message)
该计划可分析为 -
第1行通过名称消息声明变量。 变量是一种在程序中存储值的机制。
第2行将变量的值打印到提示符。 这里,控制台指的是终端窗口。 函数log()用于在屏幕上显示文本。
执行守则
我们将使用Node.js来执行我们的代码。
Step 1 - 将文件另存为Test.js.
Step 2 - 右键单击Visual Studio代码的project-explorer窗口中的working files选项下的Test.js文件。
Step 3 - 选择“在命令提示符下打开”选项。
Step 4 - 在Node的终端窗口中键入以下命令。
node Test.js
成功执行文件后将显示以下输出。
Hello World
Node.js和JS/ES6
ECMAScript 2015(ES6)功能分为三组 -
For Shipping - 这些是V8认为稳定的功能。
Staged Features - 这些功能几乎已完成,但V8团队认为不稳定。
In Progress - 这些功能仅用于测试目的。
第一类功能完全受支持,默认情况下由节点打开。 分阶段功能需要运行时 - 和谐标志才能执行。
可以在此处找到Node.js的组件特定CLI标志列表 - https://nodejs.org/api/cli.html
严格模式
第五版ECMAScript规范引入了严格模式。 严格模式对JavaScript施加了一层约束。 它对普通的JavaScript语义进行了一些更改。
通过包含以下内容,代码可以转换为在严格模式下工作 -
// Whole-script strict mode syntax
"use strict";
v = "Hi! I'm a strict mode script!"; // ERROR: Variable v is not declared
在上面的代码片段中,整个代码作为JavaScript的约束变体运行。
JavaScript还允许将块的范围内的严格模式限制为函数的范围。 这说明如下 -
v = 15
function f1() {
"use strict";
var v = "Hi! I'm a strict mode script!";
}
在上面的代码片段中,函数外部的任何代码都将以非严格模式运行。 函数中的所有语句都将在严格模式下执行。
ES6和Hoisting
默认情况下,JavaScript引擎将声明移动到顶部。 此功能称为hoisting 。 此功能适用于变量和函数。 Hoisting允许JavaScript在声明之前使用组件。 但是,提升的概念不适用于在严格模式下运行的脚本。
可变提升和功能提升将在后续章节中介绍。