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

news2024/11/17 23:58:12

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://www.coloradmin.cn/o/1476299.html

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

相关文章

【Linux】基础篇-Linux四种环境搭建的方式(详细安装说明步骤,搭载下载安装地址)

目录 1. 使用虚拟机(推荐VMware)centos 7版本 1.1VMware虚拟机下载 1.2VMware 安装 1.3centos-7 清华大学镜像下载 1.4 centos-7 清华大学镜像导入虚拟机VMware 2.使用虚拟机ubuntu 20.04版本 2.1虚拟机下载同上 2.2虚拟机安装同上 2.3ubunt…

selenium-激活pycharm,以及在pycharm中使用selenium时标红报错问题处理

激活pycharm:http://idea.955code.com/ 01 pycharm中导入selenium报错 现象: pycharm中输入from selenium import webdriver, selenium标红 原因1: pycharm使用的虚拟环境中没有安装selenium: 解决方法: 在pycharm中通过设置或terminal面板重新安装s…

KubeEdge 边缘计算

文章目录 1.KubeEdge2.KubeEdge 特点3.KubeEdge 组成4.KubeEdge 架构 KubeEdge # KubeEdgehttps://iothub.org.cn/docs/kubeedge/ https://iothub.org.cn/docs/kubeedge/kubeedge-summary/1.KubeEdge KubeEdge 是一个开源的系统,可将本机容器化应用编排和管理扩展…

最新版阿里云Linux CentOS7 ecs-user用户安装Mysql8详细教程(超简单)

经过两天的踩坑后,终于成功安装,并找到了最快捷的安装方式。接下来就由我来给大家介绍不踩坑安装大法! 一、下载Mysql 首先前往Mysql官网下载 MySQL官方下载地址 第一步,选择安装包,这是最关键的一步,选错安…

弹窗内容由后端返回,如何让点击按钮的事件交由前端控制?

一、场景 背景:因为系统里经常有新活动或者公告需要通知所有用户,希望前端维护的这个弹窗里的内容可以由后端接口返回。这样就不需要每次上新活动的时候,前端项目都发版了。因此,前端维护了这个弹窗和它的关闭事件,至…

【kubernetes】关于云原生之k8s集群的pod理论详解

目录 一、pod的基础概念 什么是pod? k8s集群中pod的两种使用方式 pod中运行容器的原则: 创建pod的3种方式 第一种:自主式Pod 第二种:控制器管理的Pod 第三种:静态Pod 二、pod中容器的基础概念 pod容器的分类 …

阿里云4核16G服务器多少钱?幻兽帕鲁配置报价

2024阿里云幻兽帕鲁专用服务器价格表:4核16G幻兽帕鲁专用服务器26元一个月、149元半年,默认10M公网带宽,8核32G幻兽帕鲁服务器10M带宽价格90元1个月、271元3个月。阿里云提供的Palworld服务器是ECS经济型e实例,CPU采用Intel Xeon …

http模块-通过创建的服务器将本地文件转换成web资源

案例-通过创建的服务器将本地文件转换成web资源 目的:将本地文件转换成web资源思路:将文件实际存放的地址作为每个资源的请求url地址。大致流程: 浏览器–请求->自己写的web服务器–读文件->磁盘目录–读取完毕->自己写的web服务器…

JWT基于Cookie的会话保持,并解决CSRF问题的方案

使用JWT进行浏览器接口请求,在使用Cookie进行会话保持传递Token时,可能会存在 CSRF 漏洞问题,同时也要避免在产生XSS漏洞时泄漏Token问题,如下图在尽可能避免CSRF和保护Token方面设计了方案。 要点解释如下: 将JWT存入…

推荐一款桌面端redis连接工具, redis desktop manager替代品——another redis desktop manager

下载地址 Another Redis Desktop Manager | 更快、更好、更稳定的Redis桌面(GUI)管理客户端,兼容Windows、Mac、Linux,性能出众,轻松加载海量键值 封面对比 对比redis desktop manager ,ui上有巨大的改进 但是redis desktop ma…

抖音视频评论批量下载软件|抖音数据抓取工具

随着业务需求的增长,抖音视频的下载需求也日益增加。传统的方式是通过逐个复制粘贴分享链接来下载视频,这种操作效率低下且耗时费力。为了解决这一问题,我们开发了一款基于C#的抖音视频评论批量下载软件,旨在实现通过关键词自动批…

网络爬虫的危害,如何有效的防止非法利用

近年来,不法分子利用“爬虫”软件收集公民隐私数据案件屡见不鲜。2023年8月23日,北京市高级人民法院召开北京法院侵犯公民个人信息犯罪案件审判情况新闻通报会,通报侵犯公民个人隐私信息案件审判情况,并发布典型案例。在这些典型案…

【物联网应用案例】智能农业应用案例

随着物联网 (IoT) 的广泛应用,各种互联设备已经深度融入我们的生活,涵盖了健康与健身、家庭自动化、物流运输以及智慧城市和工业物联网等多个领域。因此,将物联网、联网设备和自动化技术应用于农业,是十分符合时代发展需求的&…

vue3 开发记录

1.引入nprogress插件,显示未声明文件 无法找到模块“nprogress”的声明文件。 解决方法: vite-env.d.ts // 解决引入模块的报错提示 declare module "nprogress";2.在 .evn 文件中创建了自定义环境变量 VITE_APP_BASE_URL 但在项目中使用时出…

Real-time object detection and 3D scene perception in self-driving cars

摘要 可靠的城市自动驾驶取决于车辆感知和导航环境的能力。本论文的研究重点是设计并实现一个基于视觉的NUSTAG自动驾驶汽车感知系统。主要任务是使用立体相机馈送来估计汽车、自行车和行人的位置,从而实现3D边界框估计和深度感知。此外,使用2D对象检测…

SpringBoot集成EasyExcel快速人们

目录 1.背景介绍 2.EasyExcel的使用 1.添加依赖 2.相关代码准备 1.实体类 2.ExcelUtil工具类 3.写入控制类 1.背景介绍 EasyExcel 是阿里巴巴开发的一款基于 Java 的专业化 Excel 操作工具,主要用于在 Java 应用程序中快速、高效地读写 Excel 文件。EasyExce…

第二周opencv

一、边缘检测算子 边缘检测算子是用于检测图像中物体边界的工具。边缘通常表示图像中灰度值或颜色发生显著变化的地方。边缘检测有助于识别图像中的物体形状、轮廓和结构。这些算子通过分析图像的灰度或颜色梯度来确定图像中的边缘。 1、Roberts 算子 通过局部差分计算检测边缘…

Github 2024-02-28 开源项目日报 Top10

根据Github Trendings的统计,今日(2024-02-28统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Python项目5Rust项目2Zig项目1JavaScript项目1C项目1 免费API集合列表 创建周期:2901 天开发语言…

C++观察者模式代码实例

文章目录 C观察者模式代码实例一C观察者模式代码实例二 C观察者模式代码实例一 下面是一个简单的C观察者模式的实现示例,这里仅给出核心代码框架,完整的工程应包含对应的头文件声明及必要的#include指令等。 // 观察者接口(Observer&#x…

.net 在ubuntu下动态写入 中文字乱码 解决:ubuntu下添加中文字库

.net 在ubuntu下动态写入图片水印 中文字乱码 解决:ubuntu下添加中文字库 1.安装字体命令 sudo apt install -y fontconfig2.查看已安装的字体 (1)查看linux已安装字体 fc-list(2)查看linux已安装中文字体 fc-li…