理解 JavaScript 的基本特性与用途
掌握在浏览器和服务器端运行 JavaScript 的方法
了解 JavaScript 的注释语法与编程范式
熟悉 JavaScript 的主要版本演进及关键特性
认识 JavaScript 的优势与局限性
JavaScript 是一种动态类型、多用途的编程语言,主要用于为网页添加交互功能。它既可以用于客户端开发(如浏览器中操作 DOM),也可以用于服务端开发(通过 Node.js)。JavaScript 能够无缝集成 HTML 和 CSS,并拥有丰富的标准库和庞大的生态系统。
核心特性
单线程执行:一次只处理一个任务。
解释型语言:代码逐行解释执行,无需编译。
动态类型:变量的数据类型在运行时确定,无需提前声明。
Hello, World!
将以下代码保存为 .html 文件并在浏览器中打开:
<html>
<head></head>
<body>
<h1>请打开控制台查看消息!</h1>
<script>
// 这是我们的第一个 JavaScript 程序
console.log("Hello, World!");
</script>
</body>
</html><script> 标签用于在 HTML 中嵌入 JavaScript 代码。
console.log() 会将信息输出到浏览器的开发者控制台(按 F12 打开)。
创建一个名为 hello.js 的文件:
// 这是一条注释
console.log("Hello, World!");在终端中运行:
node hello.js输出结果:
Hello, World!注释是代码中的说明文字,不会被 JavaScript 引擎执行,常用于解释逻辑或临时禁用代码。
单行注释:以 // 开头
// 这是一条单行注释多行注释:用 /* ... */ 包裹
/*
这是一段
多行注释
*/
客户端:运行于浏览器,负责页面交互与动态内容更新。
服务端:通过 Node.js 运行,可构建 API、处理业务逻辑、连接数据库等,实现全栈开发。
JavaScript 是一种多范式语言,主要支持以下两种风格:
关注“如何做”,通过明确的步骤控制程序流程。
常见形式包括:
过程式编程
面向对象编程(OOP)
使用 for 循环、if 语句、async/await 等
关注“做什么”,描述目标而非具体步骤。
典型例子:
使用箭头函数 =>
数组方法如 map()、filter()、reduce()
函数式编程思想
示例对比:
// 命令式:遍历数组并筛选偶数 const evens = []; for (let i = 0; i < numbers.length; i++) { if (numbers[i] % 2 === 0) evens.push(numbers[i]); } // 声明式:直接表达意图 const evens = numbers.filter(n => n % 2 === 0);
响应式网页与单页应用(SPA)
移动应用(React Native、Ionic)
桌面应用(Electron)
后端服务与 RESTful API(Node.js + Express)
实时聊天应用(WebSocket + Socket.IO)
游戏(Canvas / WebGL)
自动化脚本与工具
尽管强大,JavaScript 也存在一些不足:
提示:使用 TypeScript 可有效缓解类型安全问题。
JavaScript 的标准化由 ECMA International 维护,标准名为 ECMAScript(ES)。
注意:旧版浏览器(如 IE)不支持 ES6+ 语法,生产环境需使用 Babel 等工具进行转译。
JavaScript 是一种动态类型、单线程、解释型语言,广泛用于 Web 开发。
可同时用于前端(浏览器) 和 后端(Node.js),实现全栈开发。
支持命令式与声明式两种编程范式。
拥有活跃生态,但需注意其安全性与类型系统的局限。
现代开发应优先使用 ES6+ 语法,并借助工具兼容旧环境。
为什么说 JavaScript 是“单线程”语言?它是如何实现异步操作而不阻塞界面的?
在实际项目中,你会如何规避 JavaScript 的弱类型带来的潜在 bug?
对比 var、let 和 const,它们的作用域和提升行为有何不同?