JavaScript 介绍

什么是 JavaScript?

  JavaScript 是一种直译式脚本语言,一种轻量级的脚本语言

    它可以在网页上实现复杂的功能,网页展现给你的不再是简单的静态信息,而是实时的内容更新,交互式的地图,2D/3D 动画,滚动播放的视频等等。JavaScript 怎能缺席。它是标准 Web 技术蛋糕的第三层,其中 HTML 和 CSS 我们已经在学习中心的其他部分进行了详细的讲解。

  HTML是一种标记语言,用来结构化我们的网页内容并赋予内容含义,例如定义段落、标题和数据表,或在页面中嵌入图片和视频。

  CSS 是一种样式规则语言,可将样式应用于 HTML 内容, 例如设置背景颜色和字体,在多个列中布局内容。

  JavaScript 是一种脚本语言,可以用来创建动态更新的内容,控制多媒体,制作图像动画,还有很多。

  什么是脚本语言?

    Script language指的是它不具备开发操作系统的能力,而是只用来编写控制其他程序的语    言

  JS 是一门完备的 动态编程语言。当应用于 HTML 文档时,可以为网站提供动态交互特性。由布兰登·艾克(Brendan Eich,Mozilla 项目、Mozilla 基金会和 Mozilla 公司的联合创始人)发明。

JavaScript 和 Java 有什么关系?

  本质上没有关系,可以易理解为"蹭热度"

  JavaScript 原本叫做 LiveScript(由网景公司推出),当时最火的编程语言是 Java,网景为了    推广 LiveScript,就把LiveScript 改为了 JavaScript。

  JavaScript 和 Java 的对比

  JavaScript

      面向对象。不区分对象类型。通过原型机制继承,任何对象的属性和方法均可以被动态添加。

      变量类型不需要提前声明(动态类型)。

   不能直接自动写入硬盘。

  Java

   基于类系统。分为类和实例,通过类层级的定义实现继承。不能动态增加对象或类的属性或方法。

     变量类型必须提前声明(静态类型)。

     可以直接自动写入硬盘。

为什么使用 JavaScript?

  对初学者更友好

  1. 可以随时随地的使用浏览器进行开发练习。

  2. 简单化的语法。即使复杂的语法你没有掌握,也可以通过简单的语法实现。

  3. 与C/C++、Java的相似性。如果你学过这两门语言,那么再来学习JavaScript可以说将会很简单。

  非常简洁和灵活的语言

    开发者们基于 JavaScript 核心编写了大量实用工具,可以使 开发工作事半功倍。其中包括:

  1. 浏览器应用程序接口(API)—— 浏览器内置的 API 提供了丰富的功能,比如:动态创建 HTML 和设置 CSS 样式、从用户的摄像头采集处理视频流、生成3D 图像与音频样本,等等。

  2. 第三方 API —— 让开发者可以在自己的站点中整合其它内容提供者(Twitter、Facebook 等)提供的功能。

  3. 第三方框架和库 —— 用来快速构建网站和应用。

  4. 灵活的语法

    JavaScript 既支持类似 C 语言清晰的过程式编程,也支持灵活的函数式编程,可以用来写并发处理(concurrent)。这些语法特性已经被证明非常强大,可以用于许多场合,尤其适用异步编程。

    JavaScript 的所有值都是对象,这为程序员提供了灵活性和便利性。因为你可以很方便地按照需要随时创造数据结构,不用进行麻烦的预定义。

    JavaScript 的标准还在快速进化,并不断合理化,添加更适用的语法特性。

  5. 支持编译运行

    JavaScript 语言本身,虽然是一种解释型语言,但是在现代浏览器中,JavaScript 都是编译后运行。程序会被高度优化,运行效率接近二进制程序。而且 JavaScript 引擎正在快速发展,性能将越来越好。此外,还有一种 WebAssembly 格式,它是 JavaScript 擎的中间码格式,全部都是二进制代码。由于跳过了编译步骤,可以达到接近原生二进制代码的运行速度。各种语言(主要是 C 和 C++)通过编译成 WebAssembly ,就可以在浏览器里面运行。

  6. 事件驱动和非阻塞设计

    JavaScript 程序可以采用事件驱动(event-driven)和非阻塞式(non-blocking)设计,在服务器端适合搞并发环境,普通的硬件就可以承受很大的访问量。

  应用场合极其广泛

     简单到幻灯片、照片库、浮动布局和响应按钮点击。复杂到游戏、2D 和 3D 动画、大型数据库驱动程序,等等。

 

posted @ 2019-09-16 16:26  Jackpot_M  阅读(234)  评论(2编辑  收藏  举报