JavaScript高级程序

article/2025/10/5 21:57:49

文章目录

  • 1. JavaScript 实现
    • 1.1 ECMAScript
    • 1.2 DOM
    • 1.3 BOM
    • 1.4 小结

1. JavaScript 实现

虽然 JavaScript 和 ECMAScript 基本上是同义词,但 JavaScript 远远不限于 ECMA-262 所定义的那样。 完整的 JavaScript 实现包含以下几个部分:
 核心(ECMAScript)
 文档对象模型(DOM)
 浏览器对象模型(BOM)
在这里插入图片描述

1.1 ECMAScript

ECMAScript,即 ECMA-262 定义的语言,并不局限于 Web 浏览器。事实上,这门语言没有输入和 输出之类的方法。ECMA-262 将这门语言作为一个基准来定义,以便在它之上再构建更稳健的脚本语言。 Web 浏览器只是 ECMAScript 实现可能存在的一种宿主环境(host environment)。宿主环境提供 ECMAScript 的基准实现和与环境自身交互必需的扩展。扩展(比如 DOM)使用 ECMAScript 核心类型 和语法,提供特定于环境的额外功能。其他宿主环境还有服务器端 JavaScript 平台 Node.js 和即将被淘汰的 Adobe Flash。
如果不涉及浏览器的话,ECMA-262 到底定义了什么?在基本的层面,它描述这门语言的如下部分:
语法
类型
语句
 关键字
 保留字
 操作符
 全局对象
ECMAScript 只是对实现这个规范描述的所有方面的一门语言的称呼。JavaScript 实现了
ECMAScript,而 Adobe ActionScript 同样也实现了 ECMAScrip。

ECMAScript 符合性是什么意思
ECMA-262 阐述了什么是 ECMAScript 符合性。要成为 ECMAScript 实现,必须满足下列条件:  支持 ECMA-262 中描述的所有“类型、值、对象、属性、函数,以及程序语法与语义”;
 支持 Unicode 字符标准。
此外,符合性实现还可以满足下列要求。
 增加 ECMA-262 中未提及的“额外的类型、值、对象、属性和函数”。ECMA-262 所说的这些额外内容主要指规范中未给出的新对象或对象的新属性。
 支持 ECMA-262 中没有定义的“程序和正则表达式语法”(意思是允许修改和扩展内置的正则表达式特性)。
以上条件为实现开发者基于 ECMAScript 开发语言提供了极大的权限和灵活度,也是其广受欢迎的原因之一。

1.2 DOM

文档对象模型(DOM,Document Object Model)是一个应用编程接口(API),用于在 HTML 中使用扩展的 XML。DOM 将整个页面抽象为一组分层节点。HTML 或 XML 页面的每个组成部分都是一种 节点,包含不同的数据。比如下面的 HTML 页面:

    <html><head><title>Sample Page</title></head><body><p> Hello World!</p></body></html>

这些代码通过 DOM 可以表示为一组分层节点
在这里插入图片描述

DOM 通过创建表示文档的树,让开发者可以随心所欲地控制网页的内容和结构。使用 DOM API,可以轻松地删除、添加、替换、修改节点。

DOM Level 2 新增了以下模块,以支持新的接口。
 DOM 视图:描述追踪文档不同视图(如应用 CSS 样式前后的文档)的接口。
 DOM 事件:描述事件及事件处理的接口。
 DOM 样式:描述处理元素 CSS 样式的接口。
 DOM 遍历和范围:描述遍历和操作 DOM 树的接口。

1.3 BOM

IE3 和 Netscape Navigator 3 提供了浏览器对象模型(BOM) API,用于支持访问和操作浏览器的窗 口。使用 BOM,开发者可以操控浏览器显示页面之外的部分。
总体来说,BOM 主要针对浏览器窗口和子窗口。比如一些扩展:
 弹出新浏览器窗口的能力;
 移动、缩放和关闭浏览器窗口的能力;
 navigator 对象,提供关于浏览器的详尽信息;
 location 对象,提供浏览器加载页面的详尽信息;

 screen 对象,提供关于用户屏幕分辨率的详尽信息;
 performance 对象,提供浏览器内存占用、导航行为和时间统计的详尽信息;
 对 cookie 的支持;
 其他自定义对象,如 XMLHttpRequest 和 IE 的 ActiveXObject。
因为在很长时间内都没有标准,所以每个浏览器实现的都是自己的 BOM。有一些所谓的事实标准,
比如对于 window 对象和 navigator 对象,每个浏览器都会给它们定义自己的属性和方法。

1.4 小结

JavaScript 是一门用来与网页交互的脚本语言,包含以下三个组成部分。
 ECMAScript:由 ECMA-262 定义并提供核心功能。
 文档对象模型(DOM):提供与网页内容交互的方法和接口。
 浏览器对象模型(BOM):提供与浏览器交互的方法和接口。
JavaScript 的这三个部分得到了五大 Web 浏览器(IE、Firefox、Chrome、Safari 和 Opera)不同程度
的支持。所有浏览器基本上对 ES5(ECMAScript 5)提供了完善的支持,而对 ES6(ECMAScript 6)和 ES7(ECMAScript 7)的支持度也在不断提升。这些浏览器对 DOM 的支持各不相同,但对 Level 3 的支 持日益趋于规范。HTML5 中收录的 BOM 会因浏览器而异,不过开发者仍然可以假定存在很大一部分的公共特性。


http://chatgpt.dhexx.cn/article/K8qBCw22.shtml

相关文章

JavaScript高级程序设计——读书笔记

文章目录 第1章 JavaScript简介第2章 在HTML中使用JavaScript第3章 基本概念第4章 变量、作用域、内存问题第5章 引用类型第6章 面向对象的程序设计第7章 匿名函数第8章 BOM第9章 客户端检测第10章 DOM第11章 DOM2和DOM3第12章 事件第13章 表单脚本第14章 错误处理与调试第15章…

javascript高级程序设计第四版(javascript高级程序设计第四版)

如何学习 JavaScript 先说说学js的条件 论条件&#xff0c;咱是文科生&#xff0c;大学专业工商管理&#xff0c;和计算机毛关系都没&#xff1b;有人说英语&#xff0c;读了四年大学&#xff0c;很遗憾&#xff0c;咱还四级没混过&#xff1b;就咱这条件都学得乐呵呵的&#x…

JavaScript高级程序设计学习笔记----初识JavaScript

一、JavaScript概述 1.JavaScript 介绍&#xff1a; 简称JS&#xff0c;是一种浏览器解释型语言&#xff0c;嵌套在HTML文件中交给浏览器解释执行。主要用来实现网页的动态效果&#xff0c;用户交互及前后端的数据传输等。 2.JavaScript 组成&#xff1a; 核心语法 - ECMAScr…

JavaScript高级程序设计 第4版

文章目录 第 1 章  什么是JavaScript1.2JavaScript1.2.1 ECMAScript1.2.2 DOM1.2.3 BOM 第 2 章 HTML中的JavaScript2.1 script元素2.1.1 标签占位符2.1.2 推迟执行脚本2.1.3 异步执行脚本2.1.4 动态加载脚本2.1.5 XHTML中的变化 2.2 noscript元素 第 3 章 语言基础3.1…

javascript高级程序设计pdf(JavaScript高级程序设计PDF版)

javascript入门书籍推荐 javascript权威指南 第六版 javascript高级程序设计 第三版 都是干货啊javascript高级程序设计!经典中的经典《javascript权威指南》 《javascript入门经典》第五版完整版 求《JavaScript高级程序设计(第3版)》PDF下载地址 权威指南 javascript高级教程…

JavaScript 高级程序设计(第3版)

内容简介 ECMAScript 5 和 HTML5 在标准之争中双双胜出&#xff0c;使大量专有实现和客户端扩展正式进入规范&#xff0c;同时也为 JavaScript 增添了很多适应未来发展的新特性。《JavaScript 高级程序设计(第3版)》这一版除增加5章全新内容外&#xff0c;其他章节也有较大幅度…

Javascript高级程序设计第四版详细测评

简介 哈喽大家好&#xff0c; 我是大圣&#xff0c;上次做了一个js的书籍测评&#xff0c;评价还不错&#xff0c;在做css和node之前&#xff0c;再做几本书的详细推荐吧, 国庆今天又在家好好读了几本具有代表性的 javascript高级程序设计【红宝书】javascript忍者秘籍你不知道…

JavaScript高级程序设计 第4版(中文高清)扫描版

1. JavaScript组成 核心ECMAScript文档对象模型DOM浏览器对象模型BOM 1.2.1 ECMAScript 定义语言的基础 规定了语言的组成部分&#xff1a;语法、类型、语句、关键字、保留字、操作符、对象 js nodejs 都实现了ECMAScript 1.2.2 DOM 文档对象模型 Document Object Model …

Java新手入门值得看的五本书!

很多知识都可以通过书本学习&#xff0c;Java学习也需要书籍&#xff0c;尤其是对于Java初学者和Java自学者来说尤为重要&#xff0c;选择了好了配套书籍在自学的路上可以达到事半功倍的效果&#xff0c;下面为Java初学和自学的朋友推荐几本合适的书籍希望对大家有所帮助。 1、…

学Java可以看哪些书?6本Java书籍推荐

学Java有哪些推荐书籍可以看&#xff1f;很多人都会有这样的疑问。今天&#xff0c;小千整理了一些Java经典书籍&#xff0c;分享给大家。 如果你初出茅庐&#xff0c;对Java感兴趣&#xff0c;想要学Java&#xff0c;在这行深钻研&#xff0c;那么这些书绝对不能少。如果你已…

Java项目:图书馆管理系统思路分析

当当当当~~~~欢迎大家阅读&#xff0c;今天和我一起来整理图书馆管理系统项目的思路分析吧&#xff01; 一、项目说明 长期以来&#xff0c;人们使用传统的人工方式管理图书馆的日常业务&#xff0c;其操作流程比较烦琐。在借书时&#xff0c;读者首先将要借的书和借阅证交给工…

必读的10本有关Java的书籍

想知道如何提高你对Java的了解&#xff1f;想成为更好的Java开发人员&#xff1f;来对地方了 我将分享一些最好的Java书籍。这些书经受住了时间的考验&#xff0c;随着岁月的流逝变得越来越重要。 不管是在今年明年&#xff0c;你总有很多东西要学&#xff0c;这也就是为什么…

Java程序员必读的10本书籍

以下列出了10本书&#xff0c;对于任何希望提高Java知识和理解的Java程序员来说都是必不可少的。 如果你是一名程序员&#xff0c;想知道如何提高你对Java的了解或者成为更好的Java开发人员&#xff0c;那你就来对地方了。在本文中&#xff0c;我将分享一些最好的Java书籍。这…

从入门到进阶,JAVA书籍的最佳阅读顺序!

本文首发于知乎&#xff0c;已获得1000赞和收藏。 原文链接&#xff1a;https://www.zhihu.com/question/269505829/answer/1791006152 先介绍下本人的情况&#xff0c;希望对大家学习Java之路有一定帮助。 本人本科完全没接触过Java&#xff0c;后自学Java&#xff0c;对整个…

年底了,感谢大家2022年的支持,虚竹哥送10本JAVA好书

❤️作者主页&#xff1a;小虚竹 ❤️作者简介&#xff1a;大家好,我是小虚竹。Java领域优质创作者&#x1f3c6;&#xff0c;CSDN博客专家&#x1f3c6;&#xff0c;华为云享专家&#x1f3c6;&#xff0c;掘金年度人气作者&#x1f3c6;&#xff0c;阿里云专家博主&#x1f3…

Java 图书管理系统

学习了类和对象之后&#xff0c;就可以自己来做个小的项目来提升自己的能力了。本文章就来说明如何来做一个简单的图书管理系统。写一些小项目是一种很锻炼逻辑和熟悉语法的好方法。 在做这些项目的时候&#xff0c;要明白一点是我们的Java是面向对象的&#xff0c;要使用面向对…

JAVA学习,你必读的5本JAVA书籍

给广大JAVA爱好者推荐JAVA教程&#xff0c;很多人学习Java是从《Thinking in Java》这本书入手的&#xff0c;但是我认为这本书是不适合初学者的。我认为正确的使用这本书的方法应该是作为辅助的读物,第四版翻译的已经不错了&#xff0c;其实如果英文OK的人还是读原版比较好。 …

JAVA实战小项目——图书馆管理系统

✨前言 某日在逛b站的时候看到有人做出了图书馆管理系统&#xff0c;在仔细梳理自己以学过的java相关知识点后&#xff0c;发现还是能够实现的&#xff01;&#x1f60e; 需要用到的相关知识点&#xff1a;向上转型&#xff0c;动态绑定&#xff0c;重写&#xff0c;继承&…

几本推荐的Java书

一、《深入理解Java虚拟机&#xff1a;JVM高级特性与最佳实践》 如果你不满足于做一个只会写if…else…的Java程序员&#xff0c;而是希望更进一步&#xff0c;我随便举几个例子吧&#xff1a; 1、了解Java代码的底层运行机制 2、定位性能问题 3、对整个系统进行性能调优 4、解…

Java学习路线总结(书籍、视频推荐篇)

&#x1f345; 作者简介&#xff1a;CSDN2021博客之星亚军&#x1f3c6;、新星计划导师✌、博客专家&#x1f4aa; &#x1f345; 哪吒多年工作总结&#xff1a;Java学习路线总结&#xff0c;搬砖工逆袭Java架构师 &#x1f345; 关注公众号【哪吒编程】&#xff0c;回复1024&a…