程序(program)是一组让计算机解决问题的明确指令。计算机不会直接理解自然语言;即使是“计算 1 + 2”,也需要写成它能执行的步骤。
编程语言帮助我们把想法写成源代码(source code)。浏览器或 Node.js 中的 JavaScript 引擎会解析并执行这些代码。Python、C、C++、Java、JavaScript 等语言的语法和用途不同,但目标相同:准确告诉计算机要做什么。
什么是程序?
程序通常包含四类动作:
- 输入(input):从键盘、文件或网络获得数据。
- 处理(processing):计算、判断、转换或保存数据。
- 输出(output):显示结果或把结果发送到其他位置。
- 控制流程(control flow):决定步骤的先后、重复和条件。
学习 JavaScript 时不必一次记住所有语法。先把程序看成一组清晰步骤,计算机会严格按顺序执行它们。
流程图
流程图(flowchart)会在写代码前把执行顺序画出来。下面的流程图描述了如何计算 1 到 100 的整数和。菱形节点代表判断:条件为 true 时继续累加,为 false 时输出结果并结束。
对应的 JavaScript 代码依次完成初始化、判断、累加、更新和输出:
let i = 1;
let total = 0;
while (i <= 100) {
total = total + i;
i = i + 1;
}
console.log(total);把代码保存为 main.js,可在浏览器控制台运行,也可以执行 node main.js。结果是 5050。
知识测验
第一个 JavaScript 程序
Hello World 通常是学习一门语言的第一个程序。它只做一件事:输出一段文字。
console.log("Hello World!");运行结果:
Hello World!console.log() 把括号中的值写到控制台。"Hello World!" 是字符串,字符串需要放在引号中。行尾分号在很多情况下可以省略,但本课程统一保留,让语句边界更清楚。
知识测验
不同语言的 Hello World
不同语言都能完成相同的输出任务,但语法和程序入口并不一样。对比下面四种写法,可以先认识它们的外观;现在不需要理解每一行。
print("Hello World!")#include <stdio.h>
int main(void) {
printf("Hello World!\n");
return 0;
}#include <iostream>
using namespace std;
int main() {
cout << "Hello World!" << endl;
return 0;
}public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}Python 和 JavaScript 可以直接写输出语句;C、C++ 和 Java 的完整示例会明确写出程序入口。它们最终都输出同一行文字。
注释
注释(comment)是写给人看的说明,不会作为程序指令执行。单行注释从 // 开始;多行注释放在 /* 和 */ 之间。
console.log("Hello World!"); // 输出一行文字
/*
这是一段
多行注释
*/优先用注释解释“为什么这样做”,不要只是重复代码已经表达的内容。
知识测验
打印一张三行学习名片
写一个最小可运行的 JavaScript 程序,用 console.log 输出三行文本,并用一条注释说明其中一行的作用。
- 第 1 行输出一条问候语,例如“你好,Leaflet!”。
- 第 2 行输出你正在学习的课程名称,例如“JavaScript 入门”。
- 第 3 行输出你的一个学习目标,例如“我想学会写条件分支”。
- 在任意一行上方添加一条以 // 开头的单行注释。