JavaScript: JavaScript 简介

JavaScript 是网页的编程语言——它让静态的 HTML 页面变得活灵活现。

本教程面向零基础学习者,从变量和函数讲起,直到你能独立开发一个完整的待办清单应用。

1. 你将学到


▶ 示例

JAVASCRIPT
// 本节代码示例
const message = "你好,世界!";
console.log(message);
▶ 试一试

这是最简单的示例,后续章节会详细解释。## 2. 前置知识

学习本教程前,你应该已经了解:


3. JavaScript 是什么

JavaScript 是一种脚本语言,可以直接在浏览器中运行,不需要编译。你写的每一行 JS 代码,浏览器会逐行读取并立即执行。

JS 最初只为浏览器设计,但现在它的势力范围已经扩展到了服务器(Node.js)、桌面应用(Electron)、甚至手机 App(React Native)。不过在本教程中,我们聚焦于 JS 在网页中的用法。


4. JavaScript 能做什么

JS 的能力覆盖网页交互的方方面面:

一句话总结:HTML 搭骨架,CSS 披皮肤,JS 让它动起来。


5. JavaScript 与 HTML/CSS 的关系

把网页比作一个人:

三者各司其职,JS 通过操作 HTML 元素和 CSS 样式来改变页面的呈现和行为。


6. JavaScript 的历史趣事

1995 年,网景公司的 Brendan Eich 用 10 天写出了 JavaScript 的第一版。没错,如今统治互联网的这门语言,诞生只花了不到两周。

几个容易混淆的事实:


7. 浏览器如何执行 JavaScript

每个浏览器都内置了 JS 引擎,负责把你写的代码翻译成机器能执行的指令:

执行流程很简单:浏览器加载 HTML → 遇到 script 标签 → JS 引擎逐行解析执行 → 结果反映在页面上。

▶ 示例:用 JavaScript 改变页面文字

HTML
<!DOCTYPE html>
<html lang="zh">
<head>
  <meta charset="UTF-8">
  <title>JS 简介 - 改变文字</title>
  <style>
    body { font-family: "Microsoft YaHei", sans-serif; text-align: center; margin-top: 80px; }
    #msg { font-size: 24px; color: #333; transition: all 0.3s; }
    button { padding: 12px 28px; font-size: 16px; cursor: pointer; border: none; border-radius: 6px; background: #4CAF50; color: #fff; }
    button:hover { background: #45a049; }
  </style>
</head>
<body>
  <p id="msg">你好,世界!</p>
  <button id="changeBtn">点我改变文字</button>
  <script>
    document.getElementById("changeBtn").onclick = function() {
      document.getElementById("msg").textContent = "JavaScript 让页面动起来了!";
      document.getElementById("msg").style.color = "#e91e63";
    };
  </script>
</body>
</html>
▶ 试一试

▶ 示例:JavaScript 响应用户事件

HTML
<!DOCTYPE html>
<html lang="zh">
<head>
  <meta charset="UTF-8">
  <title>JS 简介 - 响应事件</title>
  <style>
    body { font-family: "Microsoft YaHei", sans-serif; text-align: center; margin-top: 60px; }
    .card { display: inline-block; padding: 40px; border: 2px solid #ddd; border-radius: 12px; cursor: pointer; transition: all 0.3s; }
    .card:hover { border-color: #2196F3; box-shadow: 0 4px 16px rgba(0,0,0,0.1); }
    .card.active { border-color: #e91e63; background: #fce4ec; }
    #info { margin-top: 20px; font-size: 18px; color: #555; }
  </style>
</head>
<body>
  <div class="card" id="myCard">
    <p>把鼠标移到这里</p>
  </div>
  <p id="info"></p>
  <script>
    var card = document.getElementById("myCard");
    var info = document.getElementById("info");
    card.onmouseenter = function() {
      info.textContent = "你进入了卡片区域!";
      card.classList.add("active");
    };
    card.onmouseleave = function() {
      info.textContent = "你离开了卡片区域!";
      card.classList.remove("active");
    };
  </script>
</body>
</html>
▶ 试一试

▶ 示例:JavaScript 验证表单输入

HTML 📖 仅展示
<!DOCTYPE html>
<html lang="zh">
<head>
  <meta charset="UTF-8">
  <title>JS 简介 - 表单验证</title>
  <style>
    body { font-family: "Microsoft YaHei", sans-serif; max-width: 400px; margin: 60px auto; }
    label { display: block; margin-top: 16px; font-weight: bold; }
    input { width: 100%; padding: 8px; margin-top: 4px; border: 2px solid #ddd; border-radius: 4px; box-sizing: border-box; }
    input:focus { outline: none; border-color: #2196F3; }
    button { margin-top: 20px; padding: 10px 24px; border: none; border-radius: 6px; background: #2196F3; color: #fff; cursor: pointer; font-size: 16px; }
    button:hover { background: #1976D2; }
    .error { color: #e91e63; font-size: 14px; margin-top: 4px; display: none; }
    .success { color: #4CAF50; font-size: 16px; margin-top: 12px; display: none; }
  </style>
</head>
<body>
  <h2>用户注册</h2>
  <label for="username">用户名</label>
  <input type="text" id="username" placeholder="至少3个字符">
  <p class="error" id="usernameError">用户名至少需要3个字符</p>
  <label for="email">邮箱</label>
  <input type="text" id="email" placeholder="输入邮箱地址">
  <p class="error" id="emailError">请输入有效的邮箱地址</p>
  <button id="submitBtn">提交</button>
  <p class="success" id="successMsg">验证通过,提交成功!</p>
  <script>
    document.getElementById("submitBtn").onclick = function() {
      var username = document.getElementById("username").value;
      var email = document.getElementById("email").value;
      var valid = true;
      if (username.length < 3) {
        document.getElementById("usernameError").style.display = "block";
        valid = false;
      } else {
        document.getElementById("usernameError").style.display = "none";
      }
      if (email.indexOf("@") === -1 || email.indexOf(".") === -1) {
        document.getElementById("emailError").style.display = "block";
        valid = false;
      } else {
        document.getElementById("emailError").style.display = "none";
      }
      if (valid) {
        document.getElementById("successMsg").style.display = "block";
      } else {
        document.getElementById("successMsg").style.display = "none";
      }
    };
  </script>
</body>
</html>
逻辑代码 52 行(超过 40 行限制,仅展示)

❓ 常见问题

Q JavaScript 和 Java 是同一种语言吗?
A 完全不是。这就好比"老婆饼"里没有老婆——Java 是编译型语言,用于后端和 Android 开发;JavaScript 是解释型脚本语言,主要用于网页。二者只是名字蹭了热度,语法和用途都大不相同。
Q 学习 JS 之前必须精通 HTML 和 CSS 吗?
A 不需要精通,但至少要了解基本概念。因为 JS 的主要工作就是操作 HTML 元素和 CSS 样式,如果你连标签和选择器都看不懂,学 JS 会很吃力。
Q JS 只能在浏览器里用吗?
A 不是。Node.js 让 JS 可以运行在服务器上,Electron 让它开发桌面应用,React Native 让它开发手机 App。但浏览器端仍然是 JS 最重要的舞台。

📖 小节

📝 作业

  1. 基础题:创建一个 HTML 页面,包含一个按钮和一个段落,点击按钮后段落文字变为"我学会了 JavaScript!",文字颜色变为蓝色。
  2. 进阶题:创建一个页面,包含两个按钮"放大"和"缩小",点击后分别让页面上一段文字的字号增大或减小 2px。
  3. 挑战题:创建一个简单的密码验证页面,要求密码长度不少于 6 位且必须包含数字,不符合条件时在输入框下方显示红色提示文字。
Web-Tutorial.com

Web-Tutorial 技术团队

由多位开发者共同维护的编程教程平台。每篇教程由对应领域的开发者编写和审核,确保内容准确可靠。如发现任何问题,欢迎向我们反馈。

100%

🙏 帮我们做得更好

我们是刚上线的编程教程站,几个人的小团队,精力有限。页面虽经检查,难免还有疏漏——链接失效、排版错乱、内容有误、语言生硬……

如果您发现了,麻烦告诉我们,我们会在收到反馈后第一时间进行修复,再次感谢您的光临 🙏