跳到主要内容

JS 简介与历史

JavaScript 是一种在浏览器和服务器端运行的动态脚本语言,用于实现网页交互、操作 DOM、处理数据和构建应用。


JavaScript 简介与历史

  • 简介
    • JavaScript 是一种 解释型、弱类型、基于原型的脚本语言
    • 最初设计用于在浏览器端实现网页的动态效果(比如表单校验、交互动画)。
    • 现在已发展为前后端通用语言:
      • 前端:与 HTML、CSS 一起构建交互式网页。
      • 后端:Node. js 让 JavaScript 可以运行在服务器端。
      • 全栈:React、Vue、Angular、Next. js、NestJS 等框架,让 JavaScript 适用范围更广。
  • 历史发展
    • 1995 年:Brendan Eich 在 Netscape 公司仅用 10 天设计出最初版本,最早叫 Mocha,后来改名 LiveScript,最终定名为 JavaScript
    • 1996 年:微软推出 JScript(IE 内置的 JavaScript 实现),浏览器兼容性问题开始出现。
    • 1997 年:ECMA(欧洲计算机制造商协会)接手标准化,发布了 ECMAScript,这是 JavaScript 的语言标准。
    • 2009 年:Node. js 发布,使 JavaScript 能运行在服务器端。
    • 2015 年:ECMAScript 6(ES 6/ES 2015)发布,新增了 class、模块化、箭头函数、Promise 等大量特性,被认为是一次里程碑式的更新。
    • 至今:JavaScript 每年都会发布新版本(ES 2016、ES 2017…),不断增强语言能力和开发体验。
  • 命名小知识
    • JavaScript 与 Java 没有直接关系
    • 当时因 Java 很火,Netscape 与 Sun 公司达成合作,借用“Java”这个名字来提高关注度。
    • JavaScript 的核心标准是 ECMAScript,而“JavaScript”是它的实现之一。

JavaScript 的特点

  • 解释型语言

    • 不需要编译,浏览器或 Node. js 会在运行时逐行解释执行。
  • 弱类型 / 动态类型

    • 变量声明时无需指定类型,运行时可存放任意类型的值。
  • 基于原型

    • 不同于 Java 的类继承,JavaScript 使用原型链实现对象继承。
    • ES 6 引入了 class 语法糖,但本质仍是基于原型。
  • 事件驱动

    • 常用于监听用户交互(点击、输入等)。
    • 与事件循环(Event Loop)机制结合,支持异步编程。
  • 跨平台

    • 只要有浏览器,就能运行 JavaScript 程序。
    • 借助 Node. js,还能在服务器、桌面应用(Electron)、移动端(React Native)等环境运行。
  • 功能多样

    • 前端:操作 DOM、处理事件、实现交互。
    • 后端:Web 服务、数据库交互。
    • 其他:脚本工具、桌面应用、游戏开发。

JavaScript 是否成为浏览器的实际标准

  • 是的,已经成为事实上的标准。

    • 所有主流浏览器(Chrome、Firefox、Safari、Edge 等)都原生支持 JavaScript。
    • 浏览器提供的 JavaScript 引擎(如 V 8、SpiderMonkey、JavaScriptCore)负责解释和执行代码。
    • 虽然核心标准叫 ECMAScript,但在实际开发中,开发者统一说“JavaScript”。
  • 标准与实现关系

    • ECMAScript:语言的核心标准(语法、数据类型、对象模型)。
    • JavaScript:ECMAScript + 浏览器扩展 API(如 DOM、BOM)。
    • 因为所有浏览器都实现了 ECMAScript 和 DOM API,JavaScript 已经是浏览器默认脚本语言。
  • 补充

    • HTML 中 <script> 标签默认执行的就是 JavaScript。
    • 其他语言(如 TypeScript、CoffeeScript)最终也要编译成 JavaScript 才能在浏览器运行。