JavaScript:历史、特点与应用
这是什么以及为什么需要它?
想象一下,你是自己电影的导演,而你的电脑就是电影制片厂。HTML 就像剧本和布景(文本、图片、按钮、表格)。CSS 是服装设计师和灯光师(颜色、字体、美观的布局)。而 JavaScript 就是演员和特效!正是 JS 让一切动起来,对按钮点击做出反应,进行计算,显示弹出窗口,更改图片,甚至创建游戏。
如果网站是一个人,那么:
- HTML — 骨骼和皮肤(结构)。
- CSS — 衣服和化妆(外观)。
- JavaScript — 大脑和肌肉(逻辑和动作)。
没有 JavaScript,网站就像一本无聊的书,只能阅读,不能翻页、点击链接、玩游戏或填写表单。JS 让网页变得“鲜活”。
JavaScript 应用在哪里?
- 互联网无处不在:VKontakte、YouTube、浏览器游戏(例如 Agar.io)、在线计算器、地图(Yandex.Maps)、代码编辑器(就像你现在正在阅读本文的那个)。
- 甚至在服务器上(使用 Node.js)——例如,处理聊天中的消息或存储数据。
- 在移动应用(React Native)和桌面应用(Electron——Discord 和 VS Code 就是用这个编写的)中。
JavaScript 是世界上最流行的语言!为什么?因为它直接内置于浏览器中。你不需要安装任何东西(不像 Python 需要下载)。打开记事本,编写代码,保存为 .html 文件——就完成了!双击即可运行。
与 Python 的重要区别:在 Python 中,代码在控制台中独立执行,而在 JavaScript 中,它始终与网页绑定。JS 不能自己创建图形窗口(像 pygame 那样),但它可以控制屏幕上已有的内容——按钮、文本、图片。
带解释的代码示例
最简单的入门方法就是直接在浏览器中编写代码。按 F12(或右键单击 → “检查”),然后转到“Console”(控制台)选项卡。你可以在那里输入命令。但我们将编写完整的页面。
在你的电脑上创建一个名为 test.html 的文件,用记事本打开它,然后将示例中的代码粘贴进去。然后保存并在浏览器中打开。
示例 1:Hello, World!(第一个程序)
// 这是单行注释。它不会被执行。
/* 这是多行注释。
它用于解释代码。 */
// alert() 命令显示一个带有消息的弹出窗口。
alert("Hello, World! JavaScript is working!");
// console.log() 命令将文本输出到开发者控制台。
// 要查看结果,请按 F12 并打开 Console 选项卡。
console.log("This is a message in the console. Well done!");
// document.write() 命令将文本直接写入页面。
document.write("<h1>This is a heading created by JavaScript!</h1>");
会发生什么?
- 首先,会弹出一个带有文本的窗口。
- 然后,控制台(F12)中会出现第二条消息。
- 最后,页面上会出现一个大标题。
在 Python 中,第一个程序只是 print("Hello")。在 JS 中,我们使用 alert() 或 console.log()。区别在于 JS 存在于浏览器中,因此它可以访问窗口和页面本身。
示例 2:变量——用于存储数据的盒子
// 变量就像一个带标签的盒子。
// 在 Python 中,你写:name = "Vasya"
// 在 JS 中,我们使用关键字 let(现代方式)。
let name = "Masha"; // 字符串(文本)
let age = 12; // 数字
let lovesPizza = true; // 布尔值(是/否)
let emptyBox = null; // 空值(什么都没有)
// 将所有内容输出到控制台:
console.log("Name:", name);
console.log("Age:", age);
console.log("Loves pizza?", lovesPizza);
// 可以拼接字符串(连接):
let greeting = "Hello, " + name + "! You are " + age + " years old.";
console.log(greeting);
// 也可以使用模板字符串(类似于 Python 的 f-string,但使用 ${}):
let betterGreeting = `Hello, ${name}! You are ${age} years old.`;
console.log(betterGreeting);
// 更改变量的值:
age = 13; // Masha 过生日了!
console.log("Now age is:", age);
解释: 变量用于存储信息。let 就像 Python 中的 var,只是在 JS 中必须写 let(或者用 const 表示常量)。注意每行末尾的分号 ;——Python 中没有,但在 JS 中要加上(虽然有时不加也能工作,但最好总是加上)。
模板字符串(使用反引号 `` ` ``)非常方便——通过 ${} 将变量直接插入到文本中。
示例 3:条件语句 if(就像生活中:“如果...那么...”)
let userAge = 15;
// 如果年龄大于或等于 18:
if (userAge >= 18) {
console.log("You are an adult! You can watch horror movies.");
} else if (userAge >= 12) {
console.log("You are a teenager! You can play most games.");
} else {
console.log("You are a child. Better read a book.");
}
// 另一个例子:检查数字的奇偶性
let number = 7;
if (number % 2 === 0) { // % 是取余运算符
console.log("The number is even.");
} else {
console.log("The number is odd.");
}
// 注意:在 JS 中,比较使用 ===(三个等号),
// 而不是 ==(两个等号)。两个等号是“非严格”比较,可能会
// 产生奇怪的结果(例如,5 == "5" 为真,尽管
// 数字和字符串是不同的类型)。始终使用 ===。
关于