JS总览-JS高级程序设计4-学习笔记

JS简史

1995年 JS 问世,彼时其主要任务是替代服务器端语言处理输入验证
1995年网景公司的 Brendan Eich 开发了一个脚注Live Script的脚步语言,后来网景公司与 Sun 公司结盟,更名 Live Script 为 Java Script

由于微软发布 IE3 时包含了自己的 JS 实现,名为 JScript
为了防止撕裂,1997年时 Ecma (欧洲计算机制造商协会)的 TC39 (第39技术委员会)制定了标准 ECMA-262 也就是 ECMAScript
至1998年,ISO 和 IEC 也将 ECMAScript 采纳为标准

JavaScript 的实现

完整的 JS 实现包含核心(ECMAScript)文档对象模型(DOM)浏览器对象模型(BOM)

在这里插入图片描述

ECMA Script

它并不局限于Web浏览器,Web浏览器只是它的一种宿主环境
宿主环境提供 ECMA Script 的基准实现和与环境交互所需扩展

ECMA-262 第6版,俗称 ES6、ES2015
ECMA-262 第7版,俗称 ES7、ES2016

DOM

DOM 全称文档对象模型,是一个应用编程接口(API)
它将整个页面抽象成一颗树,而树包含有许多节点与枝条

DOM 也拥有一个由 W3C(万维网联盟)制定的标准

  • DOM Level 1:
    • DOM Core:提供了映射XML文档的方式
    • DOM HTML:扩展了 Core 并增加了特定于 HTML 的对象和方法
  • DOM Level 2:
    • DOM 视图:描述追踪文档不同视图(如应用了CSS前后的文档)的接口
    • DOM 事件:描述事件以及事件处理的接口
    • DOM 样式:描述处理元素 CSS 样式的接口
    • DOM 遍历和范围:描述遍历和操作 DOM 树的接口
  • DOM Level 3:
    • 统一的加载和保存文档方法
    • 验证文档方法
  • DOM Level 4:
    • W3C 至此开始动态实时更新 DOM 标准,统称为 DOM4

BOM

BOM 全称浏览器对象模型,同样是API
它支持访问、操作浏览器窗口,也可以控制浏览器显示页面之外的部分

HTML5之前 BOM 没有一个标准,HTML5 出现后它尽可能的涵盖了 BOM 特性

BOM 通常针对浏览器窗口和子窗口,人们通常会把任何特定于浏览器的扩展都归在 BOM 的范畴内
例如提供浏览器信息、提供屏幕分辨率信息、提供浏览器占用资源信息等等

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2815089.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

iMazing 3.0.0.3 for mac 中文破解版2024最新图文安装教程

我们刚刚发布了iMazing 3.0.0.3 for mac 中文版本。Windows和macOS用户现在都可以试驾并体验iPhone管理的未来。 备受期待的第一个Windows版本得益于过去几个月macOS测试版的所有改进,使其成为一个稳定的初始版本。 我们的开发团队创造了一种无缝的外观和体验&#…

关于uniapp小程序的分包问题

开发uniapp小程序时,在打包上传代码时会出现超出2M的打包限制不能上传,那么我们该怎么做呢? 1.对于图片,将图片从后端服务取,尽量不要放在静态资源,图片体积会影响打包大小。 2.使用分包,tabb…

LNMP 架构

PHP(Hypertext Preprocessor 超文本预处理器)是通用服务器端脚本编程语言,主要用于web开发实现动态web页面,也是最早实现将脚本嵌入HTML源码文档中的服务器端脚本语言之一。同时,php还提供了一个命令行接口,因此,其也可…

哪个牌子的电视盒子好用?2024超强电视盒子排名

最近很多朋友问我电视盒子的相关问题,就目前来说,电视盒子的地位依然是不可取代的。我近来要发布的测评内容是哪个牌子的电视盒子好用,耗时两周进行对比后整理了电视盒子排名,看看哪些电视盒子是最值得入手的吧。 NO.1——泰捷新品…

安装极狐GitLab Runner并测试使用

本文继【新版极狐安装配置详细版】之后继续 1. 添加官方极狐GitLab 仓库: 对于 RHEL/CentOS/Fedora: curl -L "https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.rpm.sh" | sudo bash2. 安装最新版本的极狐G…

ChatGPT提示词工程师AI大神吴恩达2023年视频课程学习实践

前言 刚才看了一个视频系列教程,很短,但收获很大,毕竟是一手知识来源,吴恩达大神亲自讲解,他说的话,我都信。这里写个笔记,顺便把知识点实践一下。视频可以去B站上搜索 吴恩达 prompt &#xf…

log4j 基础使用入门教程

一、Log4j介绍 在项目中,不管是开发人员写代码还是测试人员写的测试代码一般都需要做一些日志来记录项目的行为,以便更好的跟踪项目中的一些交互和问题。 Log4j ( Logger For Java ) , Java 日志的记录包。 官方网站 。Log4j 是 Apache 的一个开源项目…

C++之标准库中string的底层实现方式

目录 1、Eager Copy(深拷贝) 2、COW(Copy-On-Write)写时复制 2.1写时复制的实现 3、SSO(Short String Optimization)短字符串优化 4、最佳策略 5、线程安全性 我们都知道, std::string的一些基本功能和用法了,但它底层到底是如何实现的…

李沐动手学习深度学习——3.4练习

理解极大似然估计 很巧妙的解释了为什么使用均方误差,因为均方误差是一种似然估计的变种,而对于逻辑回归softmax而言,更好的解释了其中存在exp 1. 我们可以更深入地探讨指数族与softmax之间的联系。 1. 计算softmax交叉熵损失l(y, ˆy)的二阶…

【C++历练之路】map与set的必备使用指南

W...Y的主页 😊 代码仓库的分享💕 🍔序言: C作为一门历史悠久且功能强大的编程语言,其标准模板库(STL)为开发者提供了一套丰富的数据结构和算法,极大地促进了软件开发的效率和质量…

Python打发无聊时光:10.用flask创造按键控制的网页小游戏

游戏介绍: 《秦蓝大冒险》是一款简单而紧张的追逐游戏。在这个游戏中,玩家将控制一名名叫“吕千”的角色,试图在一个封闭的空间内逃避一个名为“秦蓝”的追逐者。随着时间的推移,“秦蓝”会不断追踪玩家的位置,努力捕捉到他。 游…

干货!Python字符串填充、去除、分割与合并

1.center() 将字符串按照指定内容填充到指定长度,默认填充的内容是空格 str1 "今天天气好晴朗"print(str1.center(50)) # 使用空间将原字符串填充到50个长度,原内容居中print(str1.center(50, "*")) # 使用 * 将原字符串填…

免费原型工具大集合,让你设计更轻松

对于产品经理或UI/UX设计师来说,一个好的原型设计工具是非常重要的。一个好的原型设计软件可以帮助你快速构建一个还原度高、信息架构清晰的原型图,大大降低工作中与同事的沟通成本,更有效地促进工作。 那么,一个易于使用和免费的…

2024年计算机科学与电子通讯工程国际会议(ICCSECE 2024)

2024年计算机科学与电子通讯工程国际会议(ICCSECE 2024) 重要信息 会议官网:http://www.iccsece.com会议地址:郑州召开日期:2024.03.25截稿日期:2024.03.15 (先投稿,先审核&#xff…

【Linux】进程优先级以及Linux内核进程调度队列的简要介绍

进程优先级 基本概念查看系统进程修改进程的优先级Linux2.6内核进程调度队列的简要介绍和进程优先级有关的概念进程切换 基本概念 为什么会存在进程优先级?   进程优先级用于确定在资源竞争的情况下,哪个进程将被操作系统调度为下一个运行的进程。进程…

【C语言】数据存储篇,内存中的数据存储----C语言整型,浮点数的数据在内存中的存储以及大小端字节序【图文详解】

欢迎来CILMY23的博客喔,本篇为​【C语言】数据存储篇,内存中的数据存储----C语言整型,浮点数的数据在内存中的存储以及大小端字节序【图文详解】,感谢观看,支持的可以给个一键三连,点赞关注收藏。 前言 C语…

Mysql索引优化导致死锁问题

1、背景 随着公司业务的发展,商品库存从商品中心独立出来成为一个独立的系统,承接主站商品库存校验、订单库存扣减、售后库存释放等业务。在上线之前我们对于核心接口进行了压测,压测过程中出现了MySQL 5.6.35死锁现象,通过日志发…

vscode——本地配置(C和C++环境配置)(2)

vscode——本地配置(2) 配置C语言编译看看.json文件编译多个C文件C/C调试 今天我们继续来看vscode的配置,如果没看过上一次的文章,大家可以点击: https://blog.csdn.net/qq_67693066/article/details/136315696 配置C语…

NebulaGraph入门

感谢阅读 官方文档链接NebulaGraph简介nGQLnGQL简介占位标识符和占位符值注释实列大小写区分关键字 基本概念以及相关代码实现补充说明图空间语法以及列子创建克隆官方示例代码(创建并克隆)USE语句指定图空间时查看所有SPACESPACE详情CLEAR SPACE删库跑路(看玩笑的说…

什么是生成式人工智能?

近年来,人工智能取得了重大进展,其中发展迅速的领域之一就是生成式人工智能。生成式人工智能是人工智能和深度学习的一个子领域,主要使用机器学习技 术根据现有数据训练算法和模型,生成诸如图像、文本、音乐、视频等新内容。 要更…