什么是 JavaScript?

JavaScript 是一种高级解释型编程语言,使网页具有交互性,是 Web 应用程序的重要组成部分。它在浏览器和服务器(Node.js)上运行,使其成为最通用的编程语言之一。

快速了解

全称JavaScript 编程语言
创建时间1995 年由 Brendan Eich 在 Netscape 创建
规范文档官方规范

工作原理

JavaScript 由 Brendan Eich 于 1995 年在 Netscape 仅用 10 天创建。尽管名称如此,它与 Java 没有直接关系。JavaScript 是一种多范式语言,支持事件驱动、函数式和面向对象的编程风格。它是唯一被 Web 浏览器原生支持的编程语言,使其对前端开发至关重要。通过 Node.js,JavaScript 扩展到了服务器端开发。该语言标准化为 ECMAScript,每年更新添加新功能,如箭头函数、async/await 和模块。

主要特点

  • 动态类型,具有自动类型转换
  • 一等函数和闭包
  • 基于原型的面向对象
  • 事件驱动和异步编程
  • 在浏览器和服务器(Node.js)上运行
  • 标准化为 ECMAScript,每年更新

常见用途

  1. 交互式网页功能
  2. 单页应用(React、Vue、Angular)
  3. 服务器端开发(Node.js)
  4. 移动应用开发(React Native)
  5. 桌面应用(Electron)

示例

loading...
Loading code...

常见问题

JavaScript 和 Java 有什么区别?

尽管名称相似,JavaScript 和 Java 是完全不同的语言。Java 是静态类型的编译语言,主要用于企业应用和 Android 开发。JavaScript 是动态类型的解释语言,专为 Web 浏览器设计。名称相似是 Netscape 在 1995 年的营销决策。

JavaScript 中 let、const 和 var 有什么区别?

var 是函数作用域,可以重新声明,这可能导致 bug。let 是块作用域,可以重新赋值但不能在同一作用域内重新声明。const 也是块作用域,但初始化后不能重新赋值。现代 JavaScript 推荐默认使用 const,需要重新赋值时使用 let。

JavaScript 中 == 和 === 有什么区别?

==(宽松相等)在类型转换后比较值,所以 '5' == 5 为 true。===(严格相等)同时比较值和类型,不进行转换,所以 '5' === 5 为 false。通常建议使用 === 以避免意外的类型转换 bug。

什么是 JavaScript 中的闭包?

闭包是一个函数,即使在外部函数返回后,它仍然保留对其外部(封闭)作用域中变量的访问权。闭包支持数据私有化、函数工厂和回调。例如,内部函数可以记住并访问其父函数中定义的变量。

JavaScript 中 null 和 undefined 有什么区别?

undefined 表示变量已声明但未赋值,或函数没有返回值。null 是有意的赋值,表示「无值」或「空」。typeof undefined 返回「undefined」,而 typeof null 返回「object」(历史遗留 bug)。当你想明确表示值的缺失时使用 null。

相关工具

相关术语

相关文章