JavaScript基本概念_红宝书盖楼_1

480 阅读5分钟

name: zlevai date: 2020-07-20 title: JavaScript基本概念


最近因在面试中,被迎面而来的暴击+++,发现自己基础很薄弱。

痛定思痛,拿着红宝书准备啃2个月。

红宝书镇楼!!!

2020_07_20_wmD7UP

JavaScript基本概念

javascript诞生于1995年,当时的主要目的是 处理当前服务器语言负责的一些验证操作

目前,已经不仅仅是做表单验证操作了,而是具备了和浏览器窗口及其内容等几乎所有方面的交互

关键在于弄清楚JavaScript的本质、历史和局限性

JavaScript的本质

  • 1995年2月Netscape公司的布兰登·艾奇开发的liveScript,Netscape公司和Sun公司建立了一个开发联盟,在Netscape navigator2 正式发布前,Netscape公司为了搭上媒体热炒的Java的顺风车,临时把liveScript改名为JavaScript.
  • 1996年8月微软进场,促使JavaScript开发向前迈进一大步。
  • 1997年,以JavaScript 1.1为蓝本的建议被提交给欧洲计算机制造协会ECMA,进过数月的努力完成了ECMA-262 定义一种名为ECMAScript(发音 ek-ma-script)的新脚本语言的标准。
  • 1998年,ISO/IEC组织(国标标准化组织和国际电工委员会)也采用了ECMAScript作为标准,自此以后,浏览器开发商就致力于将ECMAScript作为各自JavaScript实现的基础。

JavaScript实现

JavaScript和ECMAScript通常被用来表达相同的含义,但JavaScript要比ECMAScript中规定的要多。

一个完成的JavaScript由以下三个不同的部分组成:

  1. 核心 ECMAScript:提供核心语言功能
  2. 文档对象模型 DOM :提供访问和操作网页内容的方式和接口
  3. 浏览器对象模型 BOM:提供和浏览器交互多大的方法和接口

1.ECMAScript的组成

ECMAScript和web浏览器没有依赖关系;

常见的web浏览器只是ECMAScript实现可能的宿主环境之一,宿主环境不仅提供基本的ECMAScript实现,同时也会提供该语言的扩展,以便语言和环境之间对接交互。

其它宿主环境,如 node、Adobe Flash

ECMAScript 规定了以下的组成部分:

  1. 语法
  2. 类型
  3. 语句
  4. 关键字
  5. 保留字
  6. 操作符
  7. 对象

ECMAScript的版本

  • ​ ECMAScript® 2015,第六个版本,简称ES2015。
  • ​ ECMAScript® 2016,第七个版本,简称ES2016。
  • ​ ECMAScript® 2017,第八个版本,简称ES2017。
  • ​ ECMAScript® 2018,第九个版本,简称ES2018。

ECMAScript官网_传送门_


2.文档对象模型DOM

是针对XML但经过扩展用于HTML的应用程序编程接口。

DOM把整个页面映射为一个多层节点结构。

HTML或XML页面中的每个组成部分都是某种类型的节点,这些节点又包含着不同类型的数据。

开发人员可以借助DOM的API 轻松的删除,添加,替换或者修改任何节点。

为什么要使用DOM呢?
  1. 微软和网景针对分别支持不同形式的DHTML基础上,有了分歧,只写一个HTML就能够运行在任何浏览器中的时代结束了。
  2. 要想保持web跨平台的天性,必须要额外多做一些标准性的工作。此时,负责web通信标准的W3C 万维网联盟开始着手规划DOM。
DOM的级别

DOM1 1998年10月 成为W3C的推荐标准;主要由两块组成:

  1. DOM Core : 规定是如何映射基于XML的文档结构,以便简化对文档中任意部分的访问和操作。
  2. DOM HTML:作为DOM核心的扩展,添加了针对HTML的对象和方法

DOM2

​ 扩充了鼠标和用户界面事件。范围。遍历,通过对象接口新增了对CSS的支持。

  • DOM视图:定义了跟踪不同文档视图的接口
  • DOM 事件:定义了事件和事件处理的接口
  • DOM 样式:定义基于CSS为元素应用样式的接口
  • DOM 遍历和范围:定义了遍历和操作文档树的接口

DOM3

​ 引入了统一方式 加载和保存文档的方法,新增了验证文档的方法


3.浏览器对象模型BOM

使用BOM 可以控制浏览器显示的页面以外的部分

  • 打开新的标签页
  • 移动、缩放、关闭浏览器窗口功能
  • 提供浏览器详细信息的navigator 对象
  • 提供浏览器加载页面的详细信息的 location 对象
  • 提供用户显示器分辨率详细信息的 screen 对象
  • 对cookies的支持
  • 像XMLHttpRequset 和IE的ActiveXObject对象

4.JavaScript的局限性

  1. JavaScript属于客户端脚本,所以JavaScript必须要在解析器下执行。而通常这个解析器都是由浏览器来提供,因此JavaScript通常只有在浏览器中使用,才能完成一些与网页或浏览器操作相关的功能。
  2. JavaScript虽然可以在网页上实现动态效果,但是JavaScript却不具备任何图形处理能力。如果要处理图片,就必须使用第三方控件。
  3. JavaScript本身不包含联网技术,也不能读取数据库中的数据甚至也不能操作任何其他文件(引用文件除外)。如果要JavaScript来实现这些功能,就必须使用其他控件或组件。
  4. 出于安全方面的考虑,大多数据浏览器不允许JavaScript跨域操作。JavaScript只能在当前域中有效。

小结

JavaScript是一种专门和网页交互而设计的脚本语言,有下面三个不同的部分组成:

  • 核心 ECMAScript:提供核心语言功能
  • 文档对象模型 DOM :提供访问和操作网页内容的方式和接口
  • 浏览器对象模型 BOM:提供和浏览器交互多大的方法和接口

本文使用 mdnice 排版

文章列表

JavaScript 基本概念

JavaScript 数据类型

JavaScript 基本类型和引用类型

javascript 执行环境和作用域

javascript 垃圾收集机制

javascript 数组