[带你洞察JS的小秘密]JavaScript高级

1、诞生


JavaScript因互联网而生,紧跟浏览器的发展而发展。

1990年,欧洲核能研究所(CERN)科学家在互联网(Internet)基础上,发明了万维网(World Wide Web),从此可以再网上浏览网页文件。(互联网是线路、协议以及通过TCP、IP协议实现数据电子传输的硬件和软件的集合体。Internet提供的主要服务有万维网WWW、文件传输FTP、电子邮件E-mail、远程登录Telnet等。万维网则存在于互联网之上,是由无数个网络站点和网页集合而成,构成了因特网主要的部分。如果把互联网看成是基础,万维网就可以被看成是对互联网的应用

1992年,美国国家超级电脑应用中心(NCSA)开发了人类历史上第一个浏览器Mosaic。

1994年,NCSA的程序员联合一个风投家成立Mosaic通信公司,后来更名为Netscape。开发面向普通用户的新一代浏览器Netscape Navigator1.0版,市场份额一举超过90%。

1995 年,网景公司一位名叫 Brendan Eich 的工程师,开始为即将发布的 Netscape Navigator 2 开发一 个叫 Mocha(后来改名为 LiveScript)的脚本语言。当时的计划是在客户端和服务器端都使用它,它在 服务器端叫 LiveWire。

为了赶上发布时间,网景与 Sun 公司结为开发联盟,共同完成 LiveScript 的开发。就在 Netscape Navigator 2 正式发布前,网景把 LiveScript 改名为 JavaScript,以便搭上媒体当时热烈炒作 Java 的顺风车。

由于 JavaScript 1.0 很成功,网景又在 Netscape Navigator 3 中发布了 1.1 版本。尚未成熟的 Web 的受 欢迎程度达到了历史新高,而网景则稳居市场领导者的位置。这时候,微软决定向 IE 投入更多资源。 就在 Netscape Navigator 3 发布后不久,微软发布了 IE3,其中包含自己名为 JScript(叫这个名字是为了 避免与网景发生许可纠纷)的 JavaScript 实现。1996 年 8 月,微软重磅进入 Web 浏览器领域,这是网景 永远的痛,但它代表 JavaScript 作为一门语言向前迈进了一大步。

1997 年,JavaScript 1.1 作为一个草案提交给欧洲计算机制造商协会(ECMA)。第 39 技术委员会(TC39)被委派来“标准化一个通用、跨平台、中立于厂商的脚本语言的语法和语义”(http://www.ecma-international.org/memento/TC39.htm)。由来自 Netscape、Sun、微软、Borland 和其他一些对脚本编程感兴趣的公司的程序员组成的 TC39 锤炼出了 ECMA-262,该标准定义了名为 ECMAScript 的全新脚本语言。

在这里插入图片描述

2、JavaScript和Java的关系


其实并没有多大关系。

正巧那个时候Java是热度语言之一,发展的正盛,看过诞生篇的小伙伴就知道为什么需要去改名了

像这种科技企业公司,最重视的就是热度流量,拿下市场的占有率,发展企业。

3、JavaScript组成


  • 核心(ECMAScript)

  • 文档对象模型(DOM)

  • 浏览器对象模型(BOM)

3.1、ECMAScript

ECMAScript,是ECMA-262定义的语言,不局限于Web浏览器。事实上,这门语言没有输入和 输出之类的方法。ECMA-262 将这门语言作为一个基准来定义,以便在它之上再构建更稳健的脚本语言。

Web 浏览器只是 ECMAScript 实现可能存在的一种宿主环境(host environment)。

宿主环境提供 ECMAScript 的基准实现和与环境自身交互必需的扩展。

扩展(比如 DOM)使用 ECMAScript 核心类型 和语法,提供特定于环境的额外功能。其他宿主环境还有服务器端 JavaScript 平台 Node.js 和即将被淘汰 的 Adobe Flash。

ECMAScript定义了如下部分:

  • 语法
  • 变量
  • 类型
  • 语句
  • 关键字
  • 保留字
  • 操作符
  • 引用类型(对象)

ECMAScript 只是对实现这个规范描述的所有方面的一门语言的称呼。JavaScript 实现了 ECMAScript,而 Adobe ActionScript 同样也实现了 ECMAScript。

3.2、DOM

文档对象模型(DOM,Document Object Model)是一个应用程序接口(API),用于在HTML中使用扩展的XML。

HTML DOM模型被结构化成对象树

在这里插入图片描述

DOM通过创建表示文档的树,能够让开发者随心所欲控制网页的结构和内容。

使用 DOM API, 可以轻松地删除、添加、替换、修改节点。

3.2.1、DOM是必须的
1.DOM的纠纷

在 IE4 和 Netscape Navigator 4 支持不同形式的动态 HTML(DHTML)的情况下,开发者首先可以 做到不刷新页面而修改页面外观和内容。

这代表了 Web 技术的一个巨大进步,但也暴露了很大的问题。 由于网景和微软采用不同思路开发 DHTML,开发者写一个 HTML 页面就可以在任何浏览器中运行的好 日子就此终结。

为了保持 Web 跨平台的本性,必须要做点什么。人们担心如果无法控制网景和微软各行其是,那 么 Web 就会发生分裂,导致人们面向浏览器开发网页。就在这时,万维网联盟(W3C,World Wide Web Consortium)开始了制定 DOM 标准的进程

2.DOM的级别

1998 年 10 月,DOM Level 1 成为 W3C 的推荐标准。这个规范由两个模块组成:DOM Core 和 DOM HTML。

  • DOM Core 提供XML文档,简化了操作文档任意部分的方式
  • DOM HTML 扩展了Core 提供了对HTML文档对象和方法

注意:

DOM并非只能通过JS来访问,其他的语言同时也实现了。对于浏览器来说,DOM就是ECMAScript实现的,如今已经成为了JS的三大组成部分之一。

DOM Level 2 新增了以下模块,以支持新的接口

  • DOM 视图:描述追踪文档不同视图(如应用 CSS 样式前后的文档)的接口。
  • DOM 事件:描述事件及事件处理的接口。
  • DOM 样式:描述处理元素 CSS 样式的接口。
  • DOM 遍历和范围:描述遍历和操作 DOM 树的接口。

DOM Level 3 进一步扩展了 DOM,增加了以统一的方式加载和保存文档的方法(包含在一个叫 DOM Load and Save 的新模块中),还有验证文档的方法(DOM Validation)。

在 Level 3 中,DOM Core 经过扩 展支持了所有 XML 1.0 的特性,包括 XML Infoset、XPath 和 XML Base。

目前,W3C 不再按照 Level 来维护 DOM 了,而是作为 DOM Living Standard 来维护,其快照称为 DOM4。DOM4 新增的内容包括替代 Mutation Events 的 Mutation Observers。

3.3、BOM

浏览器对象模型(Browser Object Model (BOM))允许 JavaScript 与浏览器对话

不存在浏览器对象模型(BOM)的官方标准。

最后

面试题千万不要死记,一定要自己理解,用自己的方式表达出来,在这里预祝各位成功拿下自己心仪的offer。

大厂面试题

面试题目录

最后

面试题千万不要死记,一定要自己理解,用自己的方式表达出来,在这里预祝各位成功拿下自己心仪的offer。

[外链图片转存中…(img-2RldQeyz-1718725821648)]

[外链图片转存中…(img-BlBpmu6U-1718725821649)]

[外链图片转存中…(img-KAD49i8s-1718725821650)]

[外链图片转存中…(img-OTSP5Vsw-1718725821651)]

  • 21
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值