一、JavaScript是什么?
JavaScript简称JS是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。
1.了解什么是编程语言
- 概念:编程语言是人和计算机交流的一种语言(工具),简称计算机语言,而我们通过运用编程语言基于电脑可以去开发一些应用和软件等。
- 编程语言的大致分类: 机器语言、汇编语言、高级语言
- JavaScript就是一门编程语言,属于高级语言 高级语言分为: 编译型语言、解释型语言
2. 编译型语言和解释型语言的概述
计算机是不能直接理解任何除机器语言以外的语言,所以必须要把程序员所写的程序语言编译成机器语言才能执行程序。程序语言翻译成机器语言的工具,被称为 翻译器 。
翻译器翻译的方式有两种:一个是编译,另外一个是解释。两种方式之间的区别在于翻译的时间点不同。
- 编译器是在代码执行之前对所有代码进行编译,生成中间文件,然后在执行程序。(像Java等语言的翻译器就是这种)
- 解释器是在运行时进行及时解释,并立即执行,简单来说,就是逐行解释并执行。(像JavaScript等语言的翻译器就是这种)
3. 了解什么是编译型语言
概念:程序在执行之前需要一个专门的编译过程,把程序编译成为机器语言的文件如(exe),运行时不需要重新翻译,直接使用编译的结果就行了。
特点:程序执行效率高,依赖编译器,跨平台性差些。
- 执行效率高:因为每次执行前都统一编译好执行的目标文件,一次性执行目标文件代码
- 跨平台性能差:编译型语言修改源代码内容后需要重新编译,多了一个编译过程
4. 了解什么是解释型语言
概念:程序在执行前不需要编译就可以直接运行,在运行时边解析边执行的语言。(把源程序逐句翻译,翻译一句执行一句)
特点:执行效率低,依赖解释器,跨平台性好
- 执行效率低:因为每一次执行代码都多出一个编译的过程,
- 跨平台性好:可以随意修改源代码内容,而编译型语言修改后需要重新编译
代表:如 python、 javascript 、php 等解释(翻译)
WEB浏览器中自带“JavaScript解析器”
工作原理:浏览器在读取HTML文件的时候,只有当遇到<script>标签的时候,才会唤醒所谓的“JavaScript解析器”开始工作。JavaScript解析器我们通常也叫做JavaScript引擎。
5. 通俗理解编译型语言和解释型语言
编译型语言相当于做一桌子菜再吃,解释型语言就是吃火锅。解释型的语言执行效率低,类似火锅需要一边煮一边吃。
6. 结论:JavaScript是基于对象和事件驱动,并且具有相对安全性的解释型的客户端脚本语言
- 基于对象:有很多内置对象,无需我们自己定义就可以直接使用;
- 事件驱动:通过事件触发一些列操作(例如:用户点击某个按钮出现弹窗效果);
- 相对安全的:在js中没有一些恶意的操作,如删除文本文件之类的;
- 客户端的:打开浏览器,我们就看到一个网页,这相当于在浏览器中开辟一块空间来把网页临时存储在本地中,所以js是客户端的而不是服务器端。
二、JavaScript的发展史?
1. 起源:JavaScript起源于Netscape公司的LiveScript语言
- 1994 年,网景公司(NetScape)发布了Navigator浏览器0.9版, 这是历史上第一个比较成熟的浏览器,引起了广泛关注
- 但是,这个版本的浏览器只能用来浏览,不具备与访问者互动的能力,网景公司急需要开发一种客户端脚本语言来解决互动问题
2. 改名:Netscape与Sun合作后在LiveScript发布前将名改为JavaScript
- JavaScript最初受Java启发而开始设计的,目的之一就是“看上去像Java”,因此语法上有类似之处,一些名称和命名规范也借自Java。
- JavaScript与Java名称上的近似,是当时网景为了营销考虑与Sun微系统达成协议的结果
- JavaScript与Java的关系就好像雷锋和雷峰塔一样,是2种不同的语言
3. 发展史
- 1995 诞生 ----》 LiveScript
- 1997 发布ECMAScript 1.0
- 1998 发布ECMAScript 2.0
- 1999 发布ECMAScript 3.0
- 2007 发布ECMAScript 4.0
- 2009 发布ECMAScript 5.0
- 2015 发布ECMAScript 6.0(重点学习6.0以及更高版本的语法)
三、JavaScript的组成?
JavaScript分为三部分 : ECMAScript 、 DOM 、 BOM
1.ECMAScript: 包含js的基础语法(变量、运算符、数据类型、流程控制语句、函数、数组、对象)
- ECMA : 欧洲计算机制造联合会
- ECMAScript是ECMA制定的脚本语言的标准, 规定了一种脚本语言实现应该包含的基本内容
- JavaScript是脚本语言,所以必须遵守ECMAScript标准,包含ECMAScript标准中规定的基本内容
2.DOM : 文档对象模型
DOM可以把HTML看做是文档树,通过DOM提供的API可以对树上的节点进行操作。
3.BOM : 浏览器对象模型
通过BOM可以对浏览器窗口操作,比如:控制浏览器跳转、获取网址、获取计算机分辨率等。
四、JavaScript的应用?
网页三大组成部分:HTML + CSS + JavaScript
HTML: 网页的结构、以及网页中的内容
CSS: 网页的表现(美化网页)
JavaScript: 网页的行为(网页特效:控制网页内容,给网页中增加动态的效果)
- 嵌入动态文本于HTML页面
- 对浏览器事件作出响应
- 读写HTML元素
- 在数据被提交到服务器之前验证数据
- 检测访客的浏览器信息
- 控制cookies,包括创建和修改等
js曾经仅仅只是脚本语言,现在已经把前端完全占领,移动端和后端也都有涉及到,当然其他领域js也都有涉及到,js的运用场景是多元化的。
多元化场景:
- 网页特效(以及动态数据的获取之类的)
- 移动端开发(RN、Weex)、
- 服务端开发(Node.js)、
- 命令行工具(Node.js)、
- 物联网与人工智能(Ruff) 、
- 游戏开发(cocos2d-js)。