JS基础进阶Webs-API、HTML 、DOM

一、JS中的API

1. 定义

JavaScript API是指为JavaScript提供的一组编程接口和对象,用以允许开发者访问和操作Web浏览器或其他JavaScript环境(如Node.js)提供的特定功能。这些API使得开发者能够编写更加动态和交互式的Web应用程序。

2. 主要类型与功能

DOM API:文档对象模型(Document Object Model)API,用于表示和操作HTML、XML和XHTML文档的标准化方式。通过DOM API,开发者可以访问和操作文档的元素、属性、文本等,从而动态地修改和更新网页的内容和结构。
Canvas API:HTML5中的Canvas API允许开发者在网页上绘制2D图形,并能够动态地更新这些图形(包括状态和属性的变化)。这使得在网页上实现复杂的图形和动画成为可能。
XMLHttpRequest API:一个异步的HTTP客户端API,允许JavaScript发出HTTP请求,获取数据,并在不干扰用户的情况下更新页面内容。这对于实现Ajax(Asynchronous JavaScript and XML)技术至关重要。
Audio和Video API:HTML5标准中的Audio和Video API使得JavaScript能够控制音频和视频的播放、停止以及音量等属性的修改,从而丰富了网页的多媒体体验。
其他API:如Geolocation API用于获取用户的地理位置信息,File API用于文件的读写操作等。这些API为JavaScript提供了更丰富的功能集,使得开发者能够创建更加复杂和强大的Web应用程序。

3. 特点

依赖于JavaScript环境:JavaScript API通常在浏览器或Node.js等JavaScript环境中提供。
丰富的功能集:提供了丰富的功能和对象,使得开发者能够轻松实现各种复杂的交互和操作。
跨平台兼容性:大多数现代浏览器都支持JavaScript API,因此开发者可以编写跨平台的Web应用程序。

二、Web API

1. 定义

Web API是一组由服务端提供的接口,允许客户端(如浏览器或移动应用)通过HTTP协议发送请求从而与服务器进行交互。这些接口通常遵循RESTful或SOAP等标准,使得开发者能够利用远端的资源和服务。

2. 主要类型与功能

RESTful API:一种基于HTTP协议的Web API设计风格,强调资源的表示、状态转移和客户端-服务器之间的无状态交互。RESTful API使用URL来定位资源,使用HTTP方法来执行操作(如GET、POST、PUT、DELETE),并使用状态码来表示响应结果。
SOAP API:另一种Web API设计风格,基于XML和SOAP协议。SOAP API使用XML来定义接口和数据格式,通过SOAP协议在客户端和服务器之间进行通信。

3. 特点

跨平台性:Web API基于广泛支持的网络标准(如HTTP协议),因此具有良好的跨平台性。
易于使用:遵循RESTful或SOAP等标准的设计使得Web API易于使用和维护。
安全性:Web API通常包含授权机制(如OAuth),以确保只有被允许的用户和应用才能访问数据。

JavaScript HTML DOM

HTML DOM (文档对象模型)

HTML DOM 模型被构造为对象的树:

通过可编程的对象模型,JavaScript 获得了足够的能力来创建动态的 HTML。

JavaScript 能够改变页面中的所有 HTML 元素
JavaScript 能够改变页面中的所有 HTML 属性
JavaScript 能够改变页面中的所有 CSS 样式
JavaScript 能够对页面中的所有事件做出反应

查找 HTML 元素

通常,通过 JavaScript,您需要操作 HTML 元素。

为了做到这件事情,您必须首先找到该元素。有三种方法来做这件事:

通过 id 找到 HTML 元素
  // 获取 id 为 time 的元素var time = document.getElementById("time");
通过标签名找到 HTML 元素
 //获取某类标签元素var lis = document.getElementsByTagName("li");
通过类名找到 HTML 元素(H5新增)
    //获取class为box的元素var boxs=document.getElementsByClassName("box");console.log(boxs);
 querySelector()可以选择标签,类名,id选择器名

querySelector() 方法返回匹配选择器的第一个元素,如果没有匹配的元素,则返回 null

   var header=document.querySelector("header");console.log(header);var llb=document.querySelector(".box");console.log(llb);var llb=document.querySelector("#box");console.log(llb);

querySelectorAll() 方法返回匹配选择器的所有元素,如果没有匹配的元素,则返回一个空的 NodeList 对象 

  var alldds=document.querySelectorAll("dl dd");console.log(alldds);
获取body和HTML元素
var body=document.body;
console.log(body);
console.dir(body);
var html=document.documentElement;
console.log(html);
var body=document.querySelector("body");
console.log(body);
var html=document.querySelector("html");
console.log(html);

 3.事件基础

事件有三部分组成:事件源、事件类型、事件处理程序

事件源:事件被触发的对象,谁,按钮

事件类型:如何处罚 触发什么事件 例如鼠标点击,鼠标经过,键盘按下

事件处理程序:通过函数赋值的方式完成

<body><div class="div">123</div>
</body>
<script>//获取事件源
var div=document.getElementsByClassName("div");
//div.onclick绑定事件处理程序
//添加事件处理程序
div.onclick=function(){alert("你点击了div");
}
</script>
inner.HTML和inner.Text区别

1.innerText纯文本内容,不识别HTML标签

2.识别HTML标签,W3C标准 保留空格和换行的

共同点:都是可读写的,可以获取元素中的内容

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

服务器数据恢复—raid5阵列热备盘未全部启用导致阵列崩溃的数据恢复案例

服务器存储数据恢复环境&#xff1a; 一台EMC某型号存储中有一组RAID5磁盘阵列。该raid5阵列中有12块硬盘&#xff0c;其中2块硬盘为热备盘。 服务器存储故障&#xff1a; 该存储raid5阵列中有两块硬盘离线&#xff0c;只有1块热备盘启用替换掉其中一块离线盘&#xff0c;另外…

​产品经理-​你如何理解“互联网思维(35)

在产品规划和功能改版中&#xff0c;确实非常重视用户需求和体验。产品需求是互联网产品的核心 用户体验是互联网产品的重点。在互联网新产品规划中&#xff0c;会非常重视用户验证环节 确保做出来的东西确实是用户想要的&#xff1b;而在已经上线的产品中&#xff0c;往往会有…

人工智能与机器学习原理精解【12】

文章目录 分级聚类理论分级聚类的详细说明1. 定义2. 算法3. 计算4. 例子5. 例题 皮尔逊相关系数 julia实现 参考文献 分级聚类 理论 分级聚类的详细说明 1. 定义 分级聚类&#xff08;Hierarchical Clustering&#xff09;&#xff0c;又称为层次聚类&#xff0c;是一种通过…

谷歌反垄断官司败诉后,或又面临被拆分风险?

KlipC报道&#xff1a;上周8月5日&#xff0c;美国法院裁定谷歌的搜索业务违反了美国反垄断法&#xff0c;非法垄断在线搜索和搜索文本广告市场。据悉&#xff0c;胜诉的美国司法部正在考虑拆分谷歌。其他选项包括强制谷歌与竞争对手分享更多数据&#xff0c;以及防止其在人工智…

【二叉树进阶】--- 根据二叉树创建字符串

Welcome to 9ilks Code World (๑•́ ₃ •̀๑) 个人主页: 9ilk (๑•́ ₃ •̀๑) 文章专栏&#xff1a; 数据结构 从本篇文章开始&#xff0c;博主将分享一些结合二叉树的进阶算法题。 &#x1f3e0; 根据二叉树创建字符串 &#x1f4cc; 题目内容 根据二叉…

从行为面试问题(behavioral questions)看中美程序员差异。

中美程序员在职场中的工作状态和职能、福利等有很大区别&#xff0c;从面试中的BQ轮就可见一斑。 中美程序员的面试轮差异&#xff1f; 国内的面试轮在不同公司间差异很大&#xff0c;但总体的问题类型包含笔试面试&#xff08;算法题、概念题、项目深挖、职业目标、职场文化…

FGUI+TS如何实现数字翻滚

FGUITS如何实现数字翻滚 实现效果如下&#xff1a; 实现步骤&#xff1a; fgui制作组件和特效 fgui制作组件&#xff0c;设置一条竖向数字包含1-9或者小数点符号等&#xff0c;可见区域为一个数字大小&#xff0c;最好可见区域紧贴数字&#xff0c;这样滚动的时候滚动区域范围…

深度学习------------------卷积神经网络(LeNet)

目录 LeNet网络手写的数字识别MNIST总结卷积神经网络&#xff08;LeNet&#xff09; 问题 LeNet网络 手写的数字识别 MNIST ①输入的是&#xff1a;3232的image ②放到一个55的卷积层里面&#xff08;为什么是5&#xff1f;因为32-x128&#xff0c;∴x5&#xff09;&#xff0c…

【教程】Ubuntu给pycharm添加侧边栏快捷方式

转载请注明出处&#xff1a;小锋学长生活大爆炸[xfxuezhagn.cn] 如果本文帮助到了你&#xff0c;欢迎[点赞、收藏、关注]哦~ 以下教程不仅限于pycharm&#xff0c;其他软件也是一样操作 1、进入到pycharm的目录&#xff0c;先通过命令行打开pycharm&#xff1a; ./bin/pycharm…

keepalived+haproxy高可用负载均衡集群

简介 使用haproxy制作负载均衡集群&#xff0c;keepalived通过状态检测脚本检测本机haproxy状态&#xff0c;若为离线状态&#xff0c;则会降低该节点的优先级。 实验准备 四台虚拟机&#xff1a;KA1、KA2为keepalivedhaproxy&#xff0c;web1、web2为后端服务器&#xff0c;均…

阿里云-java调用短信服务,第三方接口的开启(傻瓜式教程)

第一步&#xff1a;在浏览器中&#xff0c;搜索阿里云 第二步&#xff1a;打开aly的主页 第三步&#xff1a;在最上方的导航栏中&#xff0c;找到云市场&#xff0c;注意不要点击&#xff0c;会自动有触发悬浮框出现&#xff0c;在悬浮框中找到 短信 第四步&#xff1a;点击 短…

无人机之电池注意事项

1、外场作业时&#xff0c;电池一定要放置在阴凉处&#xff0c;避免太阳直射&#xff1b; 2、刚作业完的电池发热严重时&#xff0c;请降至室温再充电&#xff1b; 3、注意电池状态&#xff0c;一旦发现电池出现鼓包、漏液等现象&#xff0c;必须马上停止使用&#xff1b; 4…

UE5 C++项目的配置

创建项目 首先启动UE5,然后选择要创建的项目&#xff0c;选择c进行创建 创建项目完毕之后&#xff0c;会自动打开visual studio&#xff0c;页面如下图所示 点击总体配置状态的刷新按钮&#xff0c;会自动检测总体的配置状态 一般会在下图所示的两项出现警告 Unreal Engi…

舵机模块学习

舵机是一种根据输入PWM信号占空比来控制输出角度的装置 执行逻辑&#xff1a;PWM信号输入到控制板&#xff0c;给控制版一个指定的目标角度&#xff0c;然后电位器检测输出轴的当前角度&#xff0c;如果大于目标角度&#xff0c;电机反转&#xff0c;小于正转&#xff0c;最终使…

Linux--HTTP协议(http服务器构建)

目录 1.HTTP 协议 2.认识 URL 3.urlencode 和 urldecode&#xff08;编码&#xff09; urlencode&#xff08;URL编码&#xff09; urldecode&#xff08;URL解码&#xff09; 4.HTTP 协议请求与响应格式 4.1HTTP 常见方法&#xff08;三种&#xff09; 5.HTTP 的状态码…

去中心化技术的崛起:探索Web3的新时代

引言&#xff1a; Web3是互联网发展的新阶段&#xff0c;它通过去中心化技术重新定义了数字世界的运作方式。这一新时代不仅带来了技术上的突破&#xff0c;也为社会互动和数据管理开辟了新的前景。本文将深入探讨Web3的核心技术、应用领域、全球影响以及面临的挑战&#xff0…

React状态管理:react-redux和redux-saga(适合由vue转到react的同学)

注意&#xff1a;本文不会把所有知识点都写一遍&#xff0c;并不适合纯新手阅读 首先Redux是一种状态管理方案&#xff0c;本身和react并没有什么联系&#xff0c;redux也可以结合其他框架来用。 react-redux是基于react的一种状态管理实现&#xff0c;他不像vuex那样直接内置在…

Centos 7 升级GCC时遇到 mirrorlist.centos.org; Unknown error“

问题描述 在执行如下操作的时候&#xff0c; yum install devtoolset-9-gcc devtoolset-9-gcc-c devtoolset-9-binutils 出现&#xff1a; 14: curl#6 - "Could not resolve host: mirrorlist.centos.org; Unknown error" 网上搜索了一下&#xff0c;原因是 mir…

全开源智慧停车场微信小程序源码/智能停车系统源码/停车自助缴费系统/停车场管理收费+物业管理+物联网+自助缴费功能

源码简介&#xff1a; 智慧停车场微信小程序源码&#xff0c;全开源智能停车系统源码&#xff0c;停车自助缴费系统&#xff0c;具有停车场管理、停车收费、物业管理、物联网、自助缴费等多种功能。 这是一个全开源的智能停车系统&#xff0c;功能强大。它不仅能帮你管理停车…

YOLO目标检测的单目(多目标测距),使用相机光学模型,支持目标检测模型训练,可输出目标位置和距离信息并可视化

本项目旨在开发一个基于YOLO的目标检测系统&#xff0c;该系统不仅能检测图像中的多个目标&#xff0c;还能利用单目摄像头的图像估计每个目标与摄像头之间的相对距离。系统的核心组成部分包括目标检测、距离估计、模型训练以及结果可视化。 主要功能 目标检测&#xff1a;使用…