1、JavaScript是什么

114 阅读4分钟

教程

为何学习 JavaScript?

JavaScript 是 web 开发者必学的三种语言之一:

  • HTML 定义网页的内容
  • CSS 规定网页的布局
  • JavaScript 对网页行为进行编程 image.png

JavaScript简介

  • JavaScript 和 Java 是完全不同的语言,不论是概念还是设计。
  • JavaScript 在 1995 年由 Brendan Eich 发明,并于 1997 年成为一部 ECMA 标准。
  • ECMA-262 是其官方名称。ECMAScript 6 (发布于 2015 年)是最新的 [JavaScript 版本]

什么是语言

  • 计算机就是一个由人来控制的机器,人让它干嘛,它就得干嘛。
  • 我们要学习的语言就是人和计算机交流的工具,人类通过语言来控制、操作计算机。
  • 编程语言和我们说的中文、英文本质上没有区别,只是语法比较特殊。
  • 语言的发展:
    • 纸带机:机器语言
    • 汇编语言:符号语言
    • 现代语言:高级语言
      • 高级语言都需要经过编译,代码需要转换为机器码然后由计算机执行
      • 根据编译时机的不同,高级语言又分为两种: 编译型语言 - 代码编写完毕立刻进行编译转换为机器码然后将机器码交给计算机执行
      解释型语言 - 代码编写完毕不会转换为机器码,而是由计算机一边执行一边编译

起源

  • JavaScript诞生于1995年,它的出现主要是用于处理网页中的前端验证。
  • 所谓的前端验证,就是指检查用户输入的内容是否符合一定的规则。
  • 比如:用户名的长度,密码的长度,邮箱的格式等。 image.png

简史

  • JavaScript是由网景公司发明,起初命名为LiveScript,后来由于SUN公司的介入更名为了JavaScript。
  • 1996年微软公司在其最新的IE3浏览器中引入了自己对JavaScript的实现JScript。
  • 于是在市面上存在两个版本的JavaScript,一个网景公司的JavaScript和微软的JScript。
  • 为了确保不同的浏览器上运行的JavaScript标准一致,所以几个公司共同定制了JS的标准名命名为ECMAScript。

时间表

image.png

实现

  • ECMAScript是一个标准,而这个标准需要由各个厂商去实现。
  • 不同的浏览器厂商对该标准会有不同的实现。
浏览器JavaScript实现方式
FireFoxSpiderMonkey
Internet ExplorerJScript/Chakra
SafariJavaScriptCore
Chromev8
CarakanCarakan
  • 我们已经知道ECMAScript是JavaScript标准,所以一般情况下这两个词我们认为是一个意思。
  • 但是实际上JavaScript的含义却要更大一些。
  • 一个完整的JavaScript实现应该由以下三个部分构成: image.png

JS的特点

  • 解释型语言 - 类似于 C 和 Java 的语法结构
    • JavaScript是一门解释型语言,所谓解释型值语言不需要被编译为机器码在执行,而是直接执行。
    • 由于少了编译这一步骤,所以解释型语言开发起来尤为轻松,但是解释型语言运行较慢也是它的劣势。
    • 不过解释型语言中使用了JIT技术,使得运行速度得以改善。
    • JavaScript的语法结构与C和Java很像,向for、if、while等语句和Java的基本上是一模一样的。
    • 所以有过C和Java基础的同学学习起来会轻松很多。
    • 不过JavaScript和与Java的关系也仅仅是看起来像而已。
  • 动态语言 - 基于原型的面向对象
    • JavaScript是一门动态语言,所谓的动态语言可以暂时理解为在语言中的一切内容都是不确定的。比如一个变量,这一时刻是个整型,下一时刻可能会变成字符串了。当然这个问题我们以后再谈。
    • 不过在补充一句动态语言相比静态语言性能上要差一些,不过由于JavaScript中应用的JIT技术,所以JS可能是运行速度最快的动态语言了。
    • JavaScript是一门面向对象的语言。啥是对象?
    • Java也是一门面向对象的语言,但是与Java不同JavaScript是基于原型的面向对象。啥是原型?下次聊。