JavaScript从入门到实战 (1):JS 入门第一步:它是什么?能做什么?环境怎么搭?

一、先搞懂:JavaScript 到底是什么?

提到 JavaScript(简称 JS),很多新手会把它和 Java 搞混------但两者除了名字里都有"Java",几乎没有关系。我们可以从三个维度理解 JS 的本质:

1. 它是一门"脚本语言",靠"解释"执行

和 C++、Java 等需要提前编译成机器码的"编译型语言"不同,JS 是解释型语言:代码运行时,浏览器或 Node.js 环境会逐行读取、逐行解释并执行,不需要提前编译步骤。这也是它能快速嵌入 HTML、即时响应用户操作的原因。

2. 它是前端的"交互核心",串联 HTML 和 CSS

HTML 负责页面的"结构"(比如按钮、文本框),CSS 负责"样式"(比如按钮的颜色、大小),而 JS 负责"行为"------也就是让页面"动起来"。举个最简单的例子:点击一个按钮,让文本颜色从黑色变成红色,这个逻辑就需要 JS 来实现:

javascript 复制代码
// 找到页面中的按钮和文本元素
const btn = document.querySelector('#changeColorBtn');
const text = document.querySelector('#targetText');

// 给按钮加点击事件:点击后修改文本颜色
btn.addEventListener('click', () => {
  text.style.color = 'red';
});

3. 它不止能写前端,还能"全栈"开发

早期 JS 只能在浏览器里运行,但随着 Node.js(基于 Chrome V8 引擎的 JS 运行环境)的出现,JS 突破了浏览器的限制,能做的事情越来越多:

  • 后端开发:用 Node.js 写 API 接口、操作数据库;
  • 桌面应用:用 Electron 开发跨平台软件(比如 VS Code、Figma);
  • 移动端开发:用 React Native 或 Ionic 写 App;
  • 物联网:用 Node.js 控制硬件设备。

二、JS 能做什么?看这 4 个实用场景

光说概念太抽象,结合具体场景更易理解------这些都是你学完 JS 后能上手实现的功能:

1. 前端交互:让页面"有反应"

这是 JS 最基础也最常用的能力,比如:

  • 表单验证:用户注册时,实时判断"手机号格式是否正确""密码是否大于 6 位",不用等提交到服务器才提示错误;
  • 动态效果:鼠标 hover 时按钮放大、页面滚动时导航栏固定在顶部、点击菜单展开下拉列表;
  • 数据渲染:从服务器获取数据后,动态生成页面内容(比如电商网站的商品列表)。

2. 数据处理:搞定"信息计算"

JS 能处理各种数据逻辑,比如:

  • 数值计算:购物车的"总价自动累加""满减优惠计算";
  • 数据转换:把服务器返回的 JSON 数据,转成页面能显示的格式(比如时间戳转成"2024-05-20");
  • 本地存储:用 localStorage 保存用户的"浏览历史""表单草稿",刷新页面后数据不丢失。

3. 后端服务:用 JS 写"服务器"

借助 Node.js,你可以用熟悉的 JS 语法写后端,比如:

  • 搭建简单的 API 接口:供前端调用获取数据(比如"获取用户信息""提交订单"接口);
  • 操作数据库:用 MongoDB 或 MySQL 存储数据,实现"用户注册信息保存""商品数据管理";
  • 处理文件:实现"图片上传""Excel 表格导出"等功能。

4. 跨端应用:一套代码跑多端

不用学 Java 或 Swift,JS 也能开发跨平台应用:

  • 桌面端:用 Electron 开发类似"网易云音乐桌面版"的软件;
  • 移动端:用 React Native 开发能在 iOS 和 Android 上运行的 App;
  • 小程序:微信小程序、支付宝小程序的核心逻辑也是用 JS 编写。

三、开发环境怎么搭?3 种方案任你选

学习 JS 不需要复杂的环境,从简单到工程化,推荐这 3 种方案,新手从第 1 种开始即可:

1. 浏览器控制台:零成本快速试错

这是最简单的方式,不需要安装任何软件,适合测试小段代码:

  1. 打开任意浏览器(Chrome、Edge、Firefox 都可以);
  2. F12 键打开"开发者工具",切换到 Console 面板;
  3. 直接在输入框里写 JS 代码,按回车就能执行,比如输入 2 + 3 会返回 5,输入 alert('Hello JS') 会弹出提示框。

优点 :即时反馈,适合验证语法、测试简单逻辑;
缺点:代码不能保存,刷新页面后就没了,不适合写长代码。

2. VS Code + Live Server:写完整页面并预览

如果想写"HTML + CSS + JS"的完整页面,推荐用 VS Code(免费轻量的代码编辑器)配合 Live Server 插件:

  1. 第一步:安装 VS Code

    VS Code 官网 下载对应系统的版本(Windows、Mac、Linux 都支持),安装后打开。

  2. 第二步:安装 Live Server 插件

    在 VS Code 左侧的"扩展"面板(快捷键 Ctrl+Shift+X)搜索"Live Server",点击"安装"(作者是 Ritwick Dey 的那个)。

  3. 第三步:写代码并预览

    • 新建一个文件夹(比如叫 JS-Learn),在 VS Code 中打开这个文件夹;

    • 新建一个文件,命名为 index.html,写入以下代码:

      html 复制代码
      <!DOCTYPE html>
      <html>
      <body>
        <script>
          document.write("Hello World!");
        </script>
      </body>
      </html>
    • 右键点击编辑区,选择"Open with Live Server",会自动用浏览器打开页面,会看到屏幕上显示"Hello World!"。

优点 :代码可以保存,页面实时刷新(修改代码后浏览器自动更新),适合学习 DOM 操作;
缺点:主要用于前端页面开发,不能运行 Node.js 后端代码。

3. Node.js + VS Code:运行后端 JS 代码

如果想学习 Node.js(用 JS 写后端),需要先安装 Node.js:

  1. 第一步:安装 Node.js

    Node.js 官网 下载 LTS 版本(长期支持版,更稳定),安装时一路默认下一步即可。

    安装完成后,打开电脑的"命令提示符"(Windows)或"终端"(Mac),输入 node -v,如果显示版本号(比如 v20.10.0),说明安装成功。

  2. 第二步:用 Node.js 运行 JS 文件

    • 在 VS Code 中新建一个文件 hello.js,写入代码:

      javascript 复制代码
      // 这是 Node.js 代码,不能在浏览器中运行
      const name = '小明';
      console.log(`Hello ${name},Node.js 运行成功!`);
      // 读取当前文件夹下的文件列表(Node.js 特有的 API)
      const fs = require('fs');
      fs.readdir('./', (err, files) => {
        if (err) throw err;
        console.log('当前文件夹下的文件:', files);
      });
    • 打开 VS Code 的"终端"(菜单"查看"→"终端"),输入 node hello.js 并回车,就能看到代码执行结果。

优点 :可以运行后端 JS 代码,学习 Node.js 必备;
缺点:不能直接预览前端页面,需要配合 Live Server 或其他工具。

四、入门小提醒:避开 2 个常见误区

  1. 不用纠结"先学 JS 还是先学 HTML/CSS" :JS 常和 HTML/CSS 配合使用,建议先了解基础的 HTML 标签(比如 <div> <button>)和 CSS 选择器,再学 JS------不用精通,够用就行,后续可以边学 JS 边补前端知识。

  2. "能运行"比"写得优雅"更重要 :新手刚开始写代码时,不用追求"最优解",先实现功能(比如点击按钮改文本、循环计算求和),再慢慢优化代码。比如一开始用 var 声明变量没关系,后续学到 let/const 再替换即可。

到这里,你已经知道 JS 是什么、能做什么,也搭好了开发环境------接下来就可以开始写第一行真正的 JS 代码了,下一篇我们会详细讲"变量与数据类型",帮你打好 JS 的基础。

相关推荐
Never_Satisfied3 小时前
在JavaScript中,map方法使用指南
前端·javascript·vue.js
captain3763 小时前
Java线性表
java·开发语言
itslife3 小时前
vite 源码 - 执行 buildStart 钩子
前端·javascript
tuokuac3 小时前
Java String类中的lastIndexOf方法的应用场景
java·开发语言
wsWmsw3 小时前
[译] 浏览器里的 Liquid Glass:利用 CSS 和 SVG 实现折射
前端·css·svg
Biomamba生信基地3 小时前
R语言绘图神器| ggplot2与其基本用法介绍
开发语言·信息可视化·r语言·生信·医药
用户47949283569153 小时前
还不知道'use strict'的作用?这篇文章给你讲清楚
前端·javascript·typescript
银安3 小时前
CSS排版布局篇(2):文档流(Normal Flow)
前端·css
用户47949283569153 小时前
面试官:讲讲这段react代码的输出(踩坑)
前端·javascript·react.js