typora-copy-images-to: media
第02阶段.前端基本功.前端基础.入门语法
认知 JavaScript
学习目标
- 理解
- 能说出 JavaScript 是什么
- 能说出 HTML、CSS、JS 的关系
- 能说出 JS 基本运行原理
- 能说出JS有那三部分组成
- 简单了解js 的发展历史
一.核心内容
1. JavaScript 是什么
概念:
- JavaScript 是世界上最流行的语言。
- JavaScript是一种运行在客户端*** 的脚本语言* (脚本:script)。
脚本语言: 不需要编译,-运行过程中由js解释器(js引擎)逐行来进行解释 并 执行。
- javascript 现在也可以基于Node.js技术进行服务器端编程。
1.1 为什么要学 JavaScript
演示:
- 页面各类动态广告
- 表单动态校验(密码强度检测) (也是我们js 产生最初的目的)
- 各类动画效果(百度地图)
- 在线游戏(偷菜、三国志)
1.2 HTML/CSS/JS 关系(结构、样式、行为)
-
HTML/CSS 是 标记语言–描述类语言
HTML 决定网页结构和内容( 决定看到什么 ),相当于人的身体
-
CSS 决定网页呈现给用户的模样( 决定好不好看 ),相当于给人穿衣服、化妆
-
JavaScript 是 脚本语言–编程类语言
实现业务逻辑和页面控制( 决定功能 ),相当于人的各种动作
2.浏览器执行JS简介
JavaScript是一种运行在客户端*** 的脚本语言*
浏览器内核分成两部分渲染引擎和js引擎,由于js引擎越来越独立,内核就倾向于只指渲染引擎
渲染引擎:用来解析HTML与CSS,俗称内核。比如 chrome 浏览器的 blink
JS引擎 : 我们成为js 解释器 用来 读取网页中的JavaScript代码,对其处理后运行 比较经典 就是 chrome 浏览器的 V8
总结:
- 浏览器本身并不会执行JS代码,而是通过内置 JavaScript引擎(解释器) 来执行JS代码,并且转换为机器语言
- JS引擎执行代码是逐行解释每一句源码,所以 JavaScript语言 归为 脚本语言,逐行解释执行。
3. javascript的发展简史
想象一下: 当年上网的速度是28.8kbit/s,使用“猫”在上网。 当你填写完一个用户注册表单,单击“提交”按钮,然后等待 30 秒钟,最终服务器返回消息说有一个必填字段没有填写,是不是很崩溃?为什么不在我点击按钮的时候就提示我?为什么?
1995年,Netscape 公司(网景公司)在其发布的浏览器Netscape Navigator 2 中推出了一种名为 liveScript 的脚本语言,解决了表单的验证问题。
在 Netscape Navigator 2 正式发布前夕,Netscape 为了搭上媒体热炒 Java 的顺风车,临时把 LiveScript 改名为 JavaScript。 从此,一炮走红!!!
此时,微软眼红了!
微软就在其 Internet Explorer 3 中加入了名为 JScript 的 JavaScript 实现(命名为JScript 是为了避开与 Netscape 有关的授权问题)。
两大浏览器中的代码标准不统一,大大苦了当时的程序员!!!
统一标准!统一标准!!统一标准!!!
1997年,ECMA的39号技术委员会制定了统一的脚本语言标准-----ECMA-262。
自此以后,浏览器开发商就开始致力于将 ECMAScript 作为各自 JavaScript 实现的基础 。
3. JavaScript 的组成【重要】
-
ECMAScript (ECMA 欧洲计算机制造联合会) 是 javascript 的核心 也是我们后面学习的重点
ECMAScript是一套JS语言设计标准,描述 JavaScript 语言基本语法和数据类型,以及其它实现标准。
简单理解 ECMAScript是JavaScript的语言规范,JavaScript是ECMAScript的实现和扩展。
-
BOM - 浏览器对象模型
一套提供给程序员 操作浏览器功能 的API
alert()
通过BOM可以操作浏览器窗口,比如:弹出框、控制浏览器跳转、获取分辨率等
-
DOM - 文档对象模型
一套提供给程序员 操作页面元素 的API
通过DOM提供的API可以对页面上的各种元素进行操作(大小、位置、颜色等)
3.扩展内容 @
3.1 JS 历史(了解)
布兰登·艾奇(Brendan Eich,1961年~)
Netscape在最初将其脚本语言命名为LiveScript,后来Netscape在与Sun合作之后将其改名为JavaScript。
Java 服务器端的编程语言
JavaScript 运行在客户端(浏览器)的编程语言
3.2 JavaScript 应用场景(了解)
JavaScript 发展到现在几乎无所不能。
- 网页特效
- 服务端开发(Node.js)
- 命令行工具(Node.js)
- 桌面程序(Electron)
- App(Cordova)
- 控制硬件-物联网(Ruff)
- 游戏开发(cocos2d-js)
3.3 解释型语言 和 编译型语言
计算机不能直接理解任何除机器语言以外的语言,所以必须要把程序员所写的程序语言翻译成机器语言,计算机才能执行程序。程序语言翻译成机器语言的工具,被称为编译器
编译器翻译的方式有两种:一个是编译,另外一个是解释。两种方式之间的区别在于翻译时间点的不同。
编译器是在代码执行之前进行编译,生成中间代码文件。
解释器是在运行时进行及时解释,并立即执行。(当编译器以解释方式运行的时候,也称之为解释器)