Skip to content

JavaScript简介

  1. 被称为 脚本,直接写在网页的 HTML 中,页面加载的时候自动执行,脚本被以纯文本的形式提供和执行,不需要准备或者编译直接执行
  2. 语言规范: ECMAScript
  3. JavaScript 不仅可以在浏览器中执行,也可以在服务端执行,任意搭载了 JavaScript 引擎 的设备中执行。
    1. V8 —— Chrome、Opera 和 Edge 中的 JavaScript 引擎。
    2. SpiderMonkey —— Firefox 中的 JavaScript 引擎。
    3. 引擎:读取解析脚本,将脚本转化为机器语言,然后机器语言在执行
  4. 浏览器中的JavaScript不能做什么?
    1. 为了用户信息安全,js的能力是受限的,目的是防止窃取用户的私人信息。
    2. 网页中的 JavaScript 不能读、写、复制和执行硬盘上的任意文件。它没有直接访问操作系统的功能。仅当用户做出特定的行为,JavaScript 才能操作这个文件。例如,用户把文件“拖放”到浏览器中,或者通过 <input> 标签选择了文件。
    3. 相机/麦克风和其它设备进行交互的方式,但是这些都需要获得用户的明确许可, 一般情况下不同的标签和窗口是不能互相通信的,同源策略
    4. js可以通过互联网与当前页面所在的服务器进行通信,需要来自远程服务器的明确协议(在 HTTP header 中),确保用户安全
  5. js的不同之处
    1. 与 HTML/CSS 完全集成。
    2. 简单的事,简单地完成。
    3. 被所有的主流浏览器支持,并且默认开启。创建浏览器界面的使用最广泛的工具。
    4. JavaScript 还可用于创建服务器和移动端应用程序等。
  6. JS--上层语言
    1. 允许根据不同的需求使用另外一种语言,最后转换成JS
    2. 例如:
      1. CoffeeScript 是 JavaScript 的一种语法糖。简短的语法,编写更清晰简洁的代码。Ruby 开发者喜欢它。
      2. TypeScript 专注于添加“严格的数据类型”以简化开发,以更好地支持复杂系统的开发。由微软开发。
      3. Flow 也添加了数据类型,但是以一种不同的方式。由 Facebook 开发。
        • Dart 是一门独立的语言。它拥有自己的引擎,该引擎可以在非浏览器环境中运行(例如手机应用),它也可以被编译成 JavaScript。由 Google 开发。
        • Brython 是一个 Python 到 JavaScript 的转译器,让我们可以在不使用 JavaScript 的情况下,以纯 Python 编写应用程序。
        • Kotlin 是一个现代、简洁且安全的编程语言,编写出的应用程序可以在浏览器和 Node 环境中运行。
  7. 总结:JS称为脚本,最开始为浏览器设计,最后也被运用与其他环境, 被应用最广泛的浏览器语言,且与 HTML/CSS 完全集成

手册与规范

  1. ECMA-262 规范https://tc39.es/ecma262/
  2. MDN(Mozilla)JavaScript 索引 是一个带有用例和其他信息的主要的手册。 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference
  3. 兼容性表:

代码编辑器

  1. 集成开发环境(IDE)和轻量编辑器
    1. IDE有:VScode,WebStorm(收费)
    2. 轻量编辑器优点:一般很快,优雅简单。例如:Sublime TextNotepad++、VIM、Emacs

开发者控制台

  1. F12,用于开发者找到错误调试bug