【JS基础】DOM和BOM

DOM 与 BOM 的区别 DOM专注于网页内容和结构,通过 JavaScript 操作 HTML 元素。BOM专注于浏览器本身的操作,提供对浏览器窗口、地址栏、历史记录等功能的访问接口。这两者通常是一起使用的,构成了前端开发中的基本操作环境。 阅读详情

DOM和BOM详解

1.什么是DOM?

DOM(Document Object Model,文档对象模型),是 W3C 组织推荐的处理可扩展标记语言(HTML或XML)的标准编程接口(API)。它的作用是通过这些DOM接口可以改变网页的内容、结构和样式。

在 DOM 模型中,HTML 文档的层次结构被抽象为一个 DOM 树,这个树结构的每一个子节点表示 HTML 文档中的不同内容。

  • 文档:一个页面就是一个文档。在 DOM 中使用 document 表示。
  • 节点:位于文档中的每个对象都是某种类型的节点。在一个 HTML 文档中,一个对象可以是一个元素节点,也可以是一个文本节点或属性节点,DOM 中使用 node 表示。
  • 元素:页面中的所有标签都是元素,element 类型是基于 node 的。它指的是一个元素或一个由 DOM API 的成员返回的 element 类型的节点。,DOM 中使用 element 表示。

例如:

在这里插入图片描述
DOM 的方法 (methods) 让你可以用特定方式操作这个树,用这些方法你可以改变文档的结构、样式或者内容。同时,元素可以关联上事件处理器,一旦某一事件被触发了,那些事件处理器就会被执行。

2.DOM树节点操作

文档对象模型 (DOM) - Web API 接口参考 | MDN (mozilla.org)

3.DOM事件

DOM 事件模型包括:

  • 标准事件模型
  • IE事件模型

但 IE事件模型很少用了,所以这里不再进行叙述。

标准事件模型包括三个阶段:

3.1 事件捕获阶段

事件从 document ⼀直向下传播到⽬标元素, 在这个过程中检查经过的节点是否绑定了该类事件的事件监听函数,如果有就执⾏。

3.2 事件处理阶段

事件到达⽬标元素, 触发⽬标元素的监听函数。

3.3 事件冒泡阶段

事件从⽬标元素冒泡到 document , 也是检查经过的节点是否绑定了该类事件的事件监听函数,如果有则执⾏。

3.4 事件处理的时机

事件监听(处理)函数一般有两种写法:

  • 在js中向元素的属性添加,例如:div.onclick = …
  • 在html中直接向元素上添加,例如:<div onclick = “…">

或者,使用 addEventListener 和 removeEventListener 来添加或移除事件监听函数。

而实际上,事件处理函数并不是一定在事件处理阶段被调用,也可以设定在其它阶段!

事件绑定监听函数的方法如下:

addEventListener(eventType,hander,userCapture)

事件移除监听函数的方式如下:

removeEventListener(eventType,hander,useCapture)

可以看到,有三个参数:

  • eventType — 事件类型
  • hander — 事件处理函数
  • useCapture — boolean类型,用于指定是否在捕获阶段进行处理,一般设置为false与IE浏览器保持一致,即只在事件冒泡阶段才执行事件处理函数!设置为 true 就在捕获过程中执行,反之在冒泡过程中执行处理函数
3.5 事件对象

在触发DOM上的事件时都会产生一个对象。

DOM中的事件对象为 event,其拥有以下属性:

  • type:获取事件类型(click)
  • target:获取事件目标(object)
  • stopPropagation()方法:阻止事件冒泡
  • preventDefault()方法:阻止事件的默认行为

4.什么是BOM?

BOM的核心是window对象,而window对象又具有双重角色,它既是通过 js 访问浏览器窗口的一个接口,又是一个**Global(全局)对象**。

这意味着在网页中定义的任何对象、变量和函数,都以window作为其global对象。

下面是一些常用的 window 对象身上的方法:

window.close();  //关闭窗口  

window.alert("message");  
//弹出一个具有OK按钮的系统消息框,显示指定的文本 

window.confirm("Are you sure?");  
//弹出一个具有OK和Cancel按钮的询问对话框,返回一个布尔值  

window.prompt("What's your name?", "Default");  
//提示用户输入信息,接受两个参数,即要显示给用户的文本和文本框中的默认值,
//将文本框中的值作为函数值返回  

window.status  //可以使状态栏的文本暂时改变  

window.defaultStatus  
//默认的状态栏信息,可在用户离开当前页面前一直改变文本  

window.setTimeout("alert('xxx')", 1000);  
//设置在指定的毫秒数后执行指定的代码,接受2个参数,要执行的代码和等待的毫秒数  

window.clearTimeout("ID");  //取消还未执行的暂停,将暂停ID传递给它  

window.setInterval(function, 1000);  
//无限次地每隔指定的时间段重复一次指定的代码,参数同setTimeout()一样  

window.clearInterval("ID");  //取消时间间隔,将间隔ID传递给它  

window.history.go(-1);  
//访问浏览器窗口的历史,负数为后退,正数为前进 

window.history.back();  //同上  

window.history.forward();  //同上  

window.history.length  //可以查看历史中的页面数 

BOM中的其它对象为:

  • location
  • navigator
  • screen
  • history
  • frames

这些对象称为 window 的子对象,是以属性的方式添加到window对象的。

4.1 document 对象

实际上就是 DOM 中的 document 对象,即 document == window.document 的结果为 true。它是唯一一个既属于 BOM 又属于 DOM 的对象。

4.2 location 对象

location 对象,表示载入窗口的URL,可用window.location直接引用它。

其身上常用的属性和方法如下:

location.href  //当前载入页面的完整URL,如http://www.somewhere.com/pictures/index.htm  

location.portocol  //URL中使用的协议,即双斜杠之前的部分,如http 

location.host  //服务器的名字,如www.wrox.com  

location.hostname  //通常等于host,有时会省略前面的www  

location.port  
//URL声明的请求的端口,默认情况下,大多数URL没有端口信息,如8080 

location.pathname  
//URL中主机名后的部分,如/pictures/index.htm  

location.search  
//执行GET请求的URL中的问号后的部分,又称查询字符串,如?param=xxxx  

location.hash  
//如果URL包含#,返回该符号之后的内容,如#anchor1  

location.assign("http:www.baidu.com");  
//同location.href,新地址都会被加到浏览器的历史栈中  

location.replace("http:www.baidu.com");  
//同assign(),但新地址不会被加到浏览器的历史栈中,不能通过back和forward访问  

location.reload(true | false);  
//重新载入当前页面,为false时从浏览器缓存中重载,为true时从服务器端重载,默认为false  
4.3 navigator 对象

navigator对象中包含大量有关Web浏览器的信息,在检测浏览器及操作系统上非常有用,也可用window.navigator直接引用它。

其身上常用的属性和方法如下:

navigator.appCodeName  //浏览器代码名的字符串表示  

navigator.appName  //官方浏览器名的字符串表示  

navigator.appVersion  //浏览器版本信息的字符串表示  

navigator.cookieEnabled  //如果启用cookie返回true,否则返回false  

navigator.javaEnabled  //如果启用java返回true,否则返回false  

navigator.platform  //浏览器所在计算机平台的字符串表示  

navigator.plugins  //安装在浏览器中的插件数组  

navigator.taintEnabled  //如果启用了数据污点返回true,否则返回false  

navigator.userAgent  //用户代理头的字符串表示   
4.4 screen 对象

screen对象,其用于获取某些关于用户屏幕的信息,同样也可用window.screen引用它。

其身上常用的属性和方法如下:

screen.width/height  //屏幕的宽度与高度,以像素计  

screen.availWidth/availHeight  //窗口可以使用的屏幕的宽度和高度,以像素计 

screen.colorDepth  //用户表示颜色的位数,大多数系统采用32位  

window.moveTo(0, 0);  

window.resizeTo(screen.availWidth, screen.availHeight);  //填充用户的屏幕   

5. DOM 和 BOM 区别

那么最后,DOM 和 BOM 的区别在哪呢?它们两者之间有什么联系?

首先来看下面这张图:
在这里插入图片描述
可以看到,在层次结构中,DOM 最根本的元素 document 是 BOM 的核心对象 window 的一个子对象。所以,DOM 实际上可以看作 BOM 的一个部分。即上面所说的,document == window.document 的结果为 true。

而浏览器提供出来给予访问的是 BOM 对象,从 BOM 对象再访问到 DOM 对象,从而在 js 中可以操作浏览器以及浏览器读取到的文档。

只不过,两者的区别在于:

DOM描述了处理网页内容的方法和接口,BOM描述了与浏览器进行交互的方法和接口。

总结

最后来总结一下:

  1. DOM 是文档对象模型,BOM是浏览器对象模型

  2. DOM 就是把文档当做一个对象来看待,BOM 是把浏览器当做一个对象来看待

  3. DOM 的顶级对象是document(实际上是window.document),BOM 的顶级对象是window

  4. DOM 主要规定的是操作页面元素,BOM 规定的是浏览器窗口交互的一些对象

  5. DOM 是W3C标准规范,BOM 是浏览器厂商在各自浏览器上定义的,兼容性较差

正点原子ATK-LORA-01无线串口代码移植+STM32F103C8T6(标准库) 目录 一、ATK-LORA-01无线串口资料 二、代码移植 1.分析 (1)usart3(也可以是其他的串口)用于接收数据的串口 usart.h (2)time3(也可以是其他的定时器)用于时序的设置 (3)lora.c 三、演示 1.主机(发送方) (1)主机接线 (2)主机代码(发送方) (3)主机实物 插上无线串口通电即可发送​ 2.从机(接收方) (1)从机接线(LORA与主机相同) (2)从机代码(接收方) (3)从机实物 接上TTL和LORA并通电即... 阅读详情

相关推荐

Openharmony 命令行工具hdc的获取与安装

OpenHarmony实战:命令行工具hdc安装应用指南_hdc工具-优快云博客t=N7T8。

Devlin_的博客 1万+

什么是DOM和BOM?

DOM 全称是 Document Object Model,也就是文档对象模型。提供操作页面元素的方法和属性,是HTML和XML的API,DOM把整个页面规划成由节点层级构成的文档。DOM 树DOM树是Web页面的模型,当浏览器加载一个Web页面时,它会创建这个页面的模型,称为DOM树。DOM树主要由4类主要节点组成:文档节点,元素节点,属性节点,文本节点。①.文档节点:在树的顶端是文档节点,它呈现整个页面。②.元素节点:需要访问DOM树时,需要从查找元素开始。

似水流年QC的博客 2万+

项目实训(四)——SAM模型的学习与部署

这里的show_mask就是我们用mask的prompt进行分割,show_points就是我们用points进行分割,show_box就是通过box进行分割,这是SAM的三种prompt的方式。总的来说,Meta AI 的 Segment Anything 模型为我们提供了一种全新的物体识别和分割方式,其强大的泛化能力和广泛的应用前景将极大地推动计算机视觉领域的发展。这里有vit_h、vit_b、vit_l三种权重模型,这里可以根据自己的需要下载相应的权重模型。我们是下载的vit_h权重模型。

yyyyyyyx_的博客 1421

BOM和DOM详解

一、DOM和BOM的联系和区别 DOM(文档对象模型) HTML 和 XML 的应用程序接口(API)。DOM代表着被加载到浏览器窗口里的当前网页:浏览器向我们提供了当前网页的地图(或者说模型),而我们可以通过js去读取这张地图。 BOM 主要处理浏览器窗口和框架, window对象对应着浏览器窗口本身,这个对象的属性和方法通常被称为BOM弹出新的浏览器窗口 移动、关闭浏览器窗口以及调整窗口大小...

weixin_42597880的博客 3000

AI智能体升级实战:从规则匹配到Function Call,准确率提升86%的技术选型之路

AI智能体升级实战:从规则匹配到Function Call的技术演进 文章记录了AI邮件助手从传统规则匹配升级到Function Call的技术迭代过程。通过案例分析,揭示了规则匹配的三大核心问题:覆盖不全(用户表达千变万化)、组合困难(多条件容易漏掉)、维护噩梦(每个需求都要新增规则)。测试数据显示,规则匹配在复杂查询中的准确率仅51%,严重影响用户体验。 技术团队对比了三种升级方案:1) 继续优化规则匹配(天花板明显);2) 微调专用NLP模型(成本高);3) 采用Function Call(灵活高效)

yweng18的博客 1078

麒麟V10系统下CoreDump文件自动归档与快速定位指南(附coredumpctl实战)

本文详细介绍了在麒麟V10操作系统下,如何利用systemd-coredump机制和coredumpctl工具实现CoreDump文件的自动化管理与高效调试。内容涵盖从系统架构解析、自动化配置策略,到使用coredumpctl进行快速查询、过滤与深度分析的实战指南,旨在帮助运维人员和开发者快速定位系统崩溃的根本原因,提升问题排查效率。

gg901的博客 220

DOM与BOM详解

DOM 全称是 Document Object Model,也就是文档对象模型。提供操作页面元素的方法和属性,是HTML和XML的API,DOM把整个页面规划成由节点层级构成的文档。DOM 树DOM树是Web页面的模型,当浏览器加载一个Web页面时,它会创建这个页面的模型,称为DOM树。DOM树主要由4类主要节点组成:文档节点,元素节点,属性节点,文本节点。①.文档节点:在树的顶端是文档节点,它呈现整个页面。②.元素节点:需要访问DOM树时,需要从查找元素开始。

dd的博客 3834

手把手教你用芯驰X9HP驱动MAX96755/MAX96752点亮智能座舱仪表屏(附完整寄存器配置表)

本文详细介绍了如何使用芯驰X9HP驱动MAX96755/MAX96752实现智能座舱仪表屏的完整开发流程,包括硬件架构解析、关键寄存器配置、Linux BSP集成及调试技巧。通过实战指南和完整寄存器配置表,帮助开发者快速掌握驱动开发核心技术,提升智能座舱系统的显示性能与稳定性。

weixin_30879169的博客 526

什么是DOM和BOM?

什么是DOM和BOM?

weixin_74374956的博客 3188

医学成像学习笔记(一):核磁共振成像(MRI)k空间为何是图像频谱详解

前言   k空间是核磁共振成像图像重建的核心,可能很多人像笔者一样第一次学时会非常疑惑,为何k空间是图像的频域空间,观其填充过程,明明是空域信号的采样填充呀。网上很少有文章讨论这个问题,所以笔者在此写下自己的理解,供大家参考。 MRI位置编码   现在的MRI一次扫描的是一个断层或者多个断层,所谓断层就是一个有厚度的面,通过z方向梯度场来选择。我们扫描一个断层的目的是为了获得该断层各位置的质子情况,它们携带着组织的性质信息,反应出来的就是信号强度。如果整个断层都采用相同的磁场强度,而我们只能得到一个断

意疏的学习笔记 1万+

POWER SI仿真流程

一、打开软件Power SI二、加载PCB,可以直接使用brd文件,不用再进行格式转换三、check Stackup,与原来的PCB叠层对照一遍,检查数据加载后有没有出错。四、select Nets,加载brd文件后,可能所有的网络都处于使用状态,先在右侧net manager下面右键disable all nets,再使能需要仿真的电源网络(如果要仿真的网络没有归属到电源网络,在其上右键,选classfy as power \ground nets)

lx5213的博客 1316

JavaScript基础语法入门与JS事件、Bom对象和Dom对象

​ JavaScript 是一种具有面向对象能力的、解释型的程序设计语言。更具体一点,它是基于对象和事件驱动并具有相对安全性的客户端脚本语言。它的主要目的是,验证发往服务器端的数据、增加 Web 互动、加强用户体验度等。 ​ ECMAScript定义的只是这门语言的基础,与Web浏览器没有依赖关系,而在基础语法上可以构建更完善的脚本语言。JavaScript的运行需要一定的环境,脱离了环境JavaScript代码是不能运行的,JavaScript只能够寄生在某个具体的环境中才能够工作。JavaScript运

m0_46168848的博客 612

完整功能-《网络安全创新实践》:设计并实现一种基于Npcap的网络嗅探器(直接能运行cpp的MFC代码+实验报告)

《网络安全创新实践》:设计并实现一种基于Npcap的网络嗅探器。(直接能跑的MFC)监听所有数据包,以及监听指定IP地址的数据包;(2)能够显示完整的IP数据包首部信息,例如:版本、首部长度、数据包长度、数据包类型(协议字段)、TTL、源IP地址、目的IP地址等;(3)能够显示完整的TCP报文段信息,例如:源端口、目的端口、序号、确认号、数据部分等;(4)能够自动检测SQL注入攻击等Web攻击行为;(5)能够将监听到的数据包信息保存到文件中,以及从文件中读取并显示数据包信息;(6)具有图形化操作界面。

weixin_46531010的博客 660

JavaScript基础+JS API(DOM+BOM)

JavaScript基础一、JS的组成二、JS的基础1. JS输入输出语句2. 变量命名规范3. 数据类型3.1 变量类型简介3.2 数据类型的分类1) 简单数据类型(基本数据类型)① 数字型 Number② 字符串型 String③ 布尔型 Boolean④ 未定义类型 Undefined⑤ 空类型 Null2) 复杂数据类型(引用数字类型)3) 获取变量数据类型① 获取检测变量的数据类型 typeof② 字面量4) 数据类型转换① 转换为字符串类型② 转换为数字型(重点)③ 转换为布尔型5)标志符、关键

weixin_47398531的博客 849

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

JavaScript 中 DOM 和 BOM 基础

JavaScript 中 DOM 和 BOM 基础 文章目录JavaScript 中 DOM 和 BOM 基础DOMDOM 概念获取页面元素的方法元素的属性非表单元素的属性表单元素属性自定义属性操作style 样式属性操作节点类操作创建节点添加节点、替换、插入、删除节点克隆节点节点判断方法事件事件监听移除事件事件流事件委托事件对象取消默认行为和阻止事件传播的方式元素尺寸和位置偏移量属性客户端大小滚动偏移属性BOMBOM 概念和 window 对象对话框onload 加载事件延时器函数节流操作定时器简单运动l

Mr_Lixiaoshuai的博客 1034

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

JavaScript 快速入门:从基础语法到 DOM、BOM 与事件交互

本文从前端三剑客 HTML、CSS、JavaScript 的分工讲起,逐步介绍 JavaScript 基础语法、变量类型、流程控制、函数、全局变量与局部变量、对象方法等核心内容。文章重点解释了 JavaScript 如何通过 DOM 操作页面元素、通过 BOM 与浏览器交互,并对事件机制进行了引入说明,适合有一定编程基础或前端入门基础的开发者快速梳理 JavaScript 知识体系。

m0_70325779的博客 1261

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

JavaScript学习笔记(一) JS基础+DOM+BOM

1. JavaScript简介 1.1 JavaScript 是什么 JavaScript 是一种运行在客户端的脚本语言 (Script 是脚本的意思) 脚本语言:不需要编译,运行过程中由 js 解释器( js 引擎)逐行来进行解释并执行 现在也可以基于 Node.js 技术进行服务器端编程 1.2 JavaScript 的作用 ① 表单动态校验(密码强度检测) ( JS 产生最初的目的 ) ② 网页特效 ③ 服务端开发(Node.js) ④ 桌面程序(Electron) ⑤ App(Cordova).

kianagrow的博客 654

JavaScript必须掌握的三大器件:基础语法、BOM和DOM

JavaScript是一种广泛用于网页上实现交互功能的编程语言。它是一种脚本语言,可以嵌入到HTML页面中,并在浏览器中执行。JavaScript可以用来实现动态网页效果,操作网页元素,响应用户的交互行为,以及与服务器进行数据交互等功能。它具有简单易学的语法和灵活的特性,很受开发者欢迎,并广泛应用于前端开发、移动应用开发和服务器端开发等领域。BOM(Browser Object Model)指的是浏览器对象模型,它是JavaScript中与浏览器交互的API集合。

杨荧的优快云博客 221

JavaScript——你理解的js基础是啥(JavaScript(核心、BOM、DOM))

面试的时候,面试官问了一个问题:你理解的js基础是啥,当时我一脸蒙蔽,最开始想把js高程的目录给巴拉巴拉一遍,好在没傻…黑,有点尴尬。 虽然JavaScript和ECMAScript通常都用来表达相同的意思,但是JavaScript的含义比ECMA-262中规定的多得多,一个完整的JavaScript实现由下列三个不同部分组成:( 装逼自己做了一个图,无颜值图==‘) 补充:看到这篇文章,窃以为

yCharlee的博客 791

JavaWeb----JS(JavaScript)基础知识及BOM与DOM

JavaScript:客户端脚本语言 发展史: 1992年,nombas公司 C--,最早的客户端脚本语言。专门用于表单验证。 后更名为 scriptEarth 网景 scriptlive,后来找到sun公司合作,共同开发出 JavaScript 微软抄袭JavaScript 定义了 JScript ECMA(欧洲计算机制造商协会)定义了一套客户端脚本语言的规范 ECMAScript规范...

醉痴糜 301

JavaScript基础学习笔记汇总(基础语法、DOM、BOM)【完整】

2021.1.22 JavaScript基础学习笔记汇总(基础语法、DOM、BOM) 第一天:初识JavaScript 准备工作、初识JavaScript、JS的组成、JS书写位置、JS注释、JS输入输出语句 第二天:JavaScript基础语法(一) Javascript的流程控制、数组、函数 第三天:JavaScript基础语法(二) Javascript的变量、运算符 第四天:JavaScript基础语法(三) JavaScript的作用域、预解析、对象 第五天:JavaScript基础语法(四.

Ludwig1957的博客 456

dom刷新局部元素_JavaScript中DOM和BOM基础

BOM部分基础内容BOM(Broswer Object Model)浏览器对象模型 ,主要用来获取或设置浏览器的属性、行为 ; 使JavaScript可以和浏览器进行交互 ; window 是 BOM 对象,而非 js 对象 ;注:凡是window的属性和方法,均可以省略“window.”【1】常见框窗操作 1.警告框 window.alert("msg");<!DOCTYPE html&g...

weixin_34589862的博客 2089

JS概览 (JS基础 DOM BOM)

JS概览 (JS基础 DOM BOM) JS 作用域 预解析 DOM事件流 文档模型 BOM相关事件 JS执行机制 事件循环

trigger的博客 982

JavaScript基础之BOM与DOM

(没看过上一篇的可以先看上一篇)Window对象是客户端JavaScript最高层对象之一,由于window对象是其它大部分对象的共同祖先,在调用window对象的方法和属性时,可以省略window对象的引用。例如:window.document.write()可以简写成:document.write()。

Mchen的博客 623

前端入门之js基础和DOM、BOM

js组成 JavaScript分成: 1.ECMAScript:JavaScript语法 2.Dom:页面文档对象模型 3.Bom:游览器对象模型 Dom+Bom 总称:Web APls 是w3c组织的标准 API:浏览器定义好的一些接口 DOM相关内容 1.什么是DOM 文档对象模型,是w3c组织推荐的处理可扩展标记语言的标准编程接口 2.获取元素方法(常用) (1)document.g...

liuziming112的博客 280

JS——DOM/BOM基础

在刷蓝桥杯web题目和笔试的时候都发现对原生js的操作占比很多,自己之前学的时候是写的挺不错的,但是在使用vue之后对原生dom操作就没那么熟悉了。所以还是要写一个笔记来记录重点,这样复习的时候就可以很快的捡起来了。关于dom操作,我们主要针对于元素的操作。主要有创建、增、删、改、查、属性操作、事件操作。最重要的还是那些案例吧,我觉得可以把pink老师的那些案例好好写一下。还有就是一定好记住js的操作是可以用逻辑语法的,别忘了!

Tommy__li的博客 925
上一篇: 【JS进阶-Web APIs】Web API 简介
下一篇: 【JS进阶】执行上下文与执行栈
cannotbecounted
博客等级 码龄7年 101粉丝 59原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值