JavaScript(四)

Educoder JavaScript学习手册四:JS对象 第1关:对象的创建 (1)创建你的第一个JavaScript对象。使用对象字面量方法创建名为student的对象,有两个属性name和gender,他们的值分别是mainJs()函数的参数a和参数b; 使用已给的构造函数Car(plate,owner)创建一个对象myCar,它的两个属性的值分别是参数c和参数d; 使用原型创建一个对象myJob,它的构造函数是Job(company,salary),它的两个属性的值已经被设置,你需要用参数e覆盖属性company的值; function Car(plate, 阅读详情

1.08 JavaScript对象简介

JavaScript数据类型

基本数据类型 引用类型

在ECMAScript中,引用类型是一种数据结构,用于将数据和功能组织在一起,这有点类似于传统面向对象语言中的“类”,但ECMAScript只是一种基于对象的语言,它不具备传统的面向对象语言所支持的类和接口等基本结构,因此,在ECMAScript中,引用类型被称为“对象定义”,它描述一类对象所具有的属性和方法。而引用类型的值则称为“对象”,它是引用类型的一个实例。

  • ECMAScript中的对象有三种:

    ☞ 本地对象:

     ECMA-262 把本地对象定义为“独立于宿主环境的 ECMAScript 实现提供的对象”。
    简单来说,本地对象就是 ECMA-262 定义的引用类型。它们包括:Object、Function、
    Array、String、Boolean、Number、Date、RegExp。
    

    ☞ 内置对象:

     ECMA-262 把内置对象定义为“由 ECMAScript 实现提供的、独立于宿主环境的
    所有对象,在 ECMAScript 程序开始执行时出现”。这意味着开发者不必明确实例
    化内置对象,它已被实例化了。ECMA-262 只定义了两个内置对象,即 Global 和 
    Math (它们也是本地对象,根据定义,每个内置对象都是本地对象)。
    

    ☞ 宿主对象:

     所有非本地对象都是宿主对象,即由 ECMAScript 实现的宿主环境提供的对象。
    如 BOM 和 DOM 对象都是宿主对象。
    
  • 创建本地对象:

    JavaScript中,创建对象有以下几种常用的方式:

    ☞ 使用new操作符后跟一个构造函数来创建

 如  var obj=new Object();
        var d=new Date();

☞ 使用对象字面量表示法

如  var person={
            name:“张三”,
            age:25,
            height:“78KG”} 

使用函数来构造对象

实例代码:

 function person(name,age,height){
		      this.name=name;
		      this.age=age;
			  this.height=height;
		   }
		   var person3=new person("王五",28,"68kg"); 

建议多使用对象字面量法,因为这种语法要求的代码量少,而且能给人封装数据的感觉。实际上,对象字面量也是向函数传递大量可选参数的首选方式。

实例代码:

function displayInfo(args){
   var output=””;
   if(typeof args.name ==”string”){
   output+ = “Name:”+args.name+”\n”;
}
if(typeof args.age ==”number”){
  output+=”Age:”+args.age+”\n”;
}
 console.log(output);
}
displayInfo({name:'abc',age:29})
displayInfo({name:'def'});

 在这个例子中,函数displayInfo()接受一个名为args的参数。这个参数可能带有一
个名为name或age的属性,也可能这两个属性都有或者都没有。

这种传递参数的模式最适合需要向函数传入大量可选参数的情形。一般来讲,命名参数虽然容易处理,但在有多个可选参数的情况下就会显得不够灵活。最好的做法是对那些必需值使用命名参数,而使用对象字面量来封装多个可选参数。

一般来说,访问对象属性时使用的都是点表示法,这也是很多面向对象语言中通用的语法。不过,在javascript也可以使用方括号表示法来访问对象的属性。在使用方括号时,应该将要访问的属性以字符串的形式放在方括号中。
例如:person[‘name’] person.name

从功能上看,这两种访问对象属性的方法没有任何区别。但方括号的主要优点是可以通过变量来访问属性,
例如:var propertyName =‘def’;
console.log(person[propertyName]);

如果属性名中包含会导致语法错误的字符,或者属性名使用的关键字或保留字,也可以使用方括号表示法。
例如:person[“first name”]=‘abc’;
由于 “first name”中包含一个空格,所以不能使用点表示法来访问它。

然而,属性名中是可以包含非字母非数字的,这时候就可以使用方括号表示法来访问它们。通常,除非必须使用变量来访问属性,建议使用点表示法。

访问对象属性:

如 var arr=new Array();
      alert(arr.length);

调用对象方法:

 如  var d1=new Date();
        alert(d1.getFullYear());

1.09 Object类型

-Object类型用来创建一个通用的对象,它是ECMAScript中使用最多的一个类型,虽然Object的实例不具备多少功能,但对于在应用程序中存储和传输数据来说,它是非常理想的选择。
-ECMAScript中的所有对象都由这个对象继承而来,Object 对象中的所有属性和方法都会出现在其他对象中 。

Object类型的使用:

格式:

var obj=new Object([value]);

 obj—必选项,代表要赋值为Object对象的变量名。
 vaule—可选项,可以是任意一种 JavaScript的基本数据类型。(Number、Boolean、
或 String。)如果 value 为一个对象,返回不作改动的该对象。如果value 为 
null、undefined,或者没有给出,则产生没有内容的对象。 

Object对象的属性和方法:
在这里插入图片描述
1.20 Array类型

Array类型也是ECMAScript中最常用的类型之一,ECMAScript中的数组与其他语言中的数组有着相当大的区别:

☞ ECMAScript中的数组的每一项可以保存任何类型的数据。

☞ ECMAScript数组的大小是可以动态调整的,即可以随着数据的添加自动增长以容纳新
增数据。

数组的创建:

☞ 使用Array()构造函数创建

如  var arr1=new Array();
        var arr2=new Array(10);
        var arr3=new Array(“张三”);
        var arr4=Array(3);

使用字面量形式创建:

如  var colors=["red","blue","green"]; 
		var name=[]; 

访问数组元素:
使用方括号加索引值得形式。

如   colors[0]
          colors[2]

数组的length属性:

ECMAScript中,数组的length属性不是只读的,通过改变这个属性,可以从数组的末尾移除数组元素或向数组中添加新项。

如  var colors=["red","blue","green"];
          colors.length=2;      //移除末尾项green
          colors[colors.length]=black;   //新增一项
          colors.lenght=5;   //新增两个空项 

检测数组:

要判断某个对象是否为数组,ECMAScript 3使用instanceof操作符检测。在ECMAScript 5中则新增了一个Array.isArray()方法来判断。

  • 数字对象的常用属性和方法
    在这里插入图片描述
    在这里插入图片描述
    迭代方法:

    (es5新增)每个方法都接收两个参数:要在每一项上运行的函数和(可选的)运行该函数的作用域对象-影响this的值。传入这些方法中的函数会接收三个参数:数组项的值,该项在数组中的位置和数组对象本身。根据使用的方法不同,这个函数执行后的返回值可能会也可能不会影响方法的返回值。

    • every():
      对数组中的每一项运行给定函数,如果该函数对每一项都返回true,则返回true.
      下例检测数组中的所有元素是否都大于 10。
function isBigEnough(element, index, array) {
  return (element >= 10);
}
var passed = [12, 5, 8, 130, 44].every(isBigEnough);
// passed is false
passed = [12, 54, 18, 130, 44].every(isBigEnough);
  • filter():
    对数组中的每一项运行给定函数,返回该函数会返回true的项组成的数组。
    返回数组的一个子集,回调函数用于逻辑判断是否返回,返回true则把当前元素加入到返回数组中,false则不加;
    新数组只包含返回true的值,索引缺失的不包括,原数组保持不变。
var data = [1,2,3,4,5];
console.log(data.filter(function(e){
  return e%2==0;
}));
console.log(data);
  • forEach()
    对数组中的每一项给定函数。这个方法没有返回值

    从头到尾遍历数组,为每个元素调用指定函数
    第一个参数:传递的函数
    该函数调用的参数:数组元素、元素索引、数组本身

var data =[1,2,3,4,5];
var sum =0;
data.forEach(function(value){
sum+=value;
});
console.log(“sum:”+sum);
data.forEach(function(a,i,v){
a [i]=v+1;
});
console.log(“加1后的值:”+data);
  • map()

    对数组中的每一项运行给定函数,返回每次函数调用的结果组成的数组。
    调用数组的每个元素传递给指定的函数,并返回一个包含返回值的新数组;
    传递给map()的函数有返回值,map()返回新数组,不会修改调用的数组;

a =[1,2,3];
b = a.map(function(x){return x*x});
console.log(a);
  • some()

    对数组中的每一项运行给定函数,如果该函数对任一项返回true,则返回true.以上方法都不会修改数组中的包含值。

var a = new Array(1,2,3,4,5,6);
console.log(a.some(function(e){
return e>3;}));
console.log(a.every(function(e){
return e>3}));
every每一项都为true才为true,some只要有一项为true就为true。
every(function(item,index,array){});
some(function(item,index,array){});

归并方法:

 ECMAScript5还新增了两个归并数组的方法:reduce()和reduceRight().这两个方
法都会迭代数组的所有项,然后构建一个最终返回的值。其中reduce()方法从数组的第
一项开始,逐个遍历到最后。而reduceRight()则从数组的最后一项开始,向前遍历到
第一项。
 
 这两个方法都接收两个参数:一个在每一项上调用的函数和(可选的)作为归并基础的初
始值。传给reduce()和reduceRight()的函数接收4个参数:前一个值、当前值、项的
索引和数组对象。这个函数返回的任何值都会作为第一个参数自动传给下一项。第一次迭
代发生在数组的第二项上,因此第一个参数是数组的第一项,第二个参数就是数组的第二
项。

1.21 Data类型

Date对象提供了与日期、时间相关的操作功能。ECMAScript中的Date类型是在早期java中的java.util.Date类基础上构建的,它使用来自UTC(国际协调时间)1970年1月1日零时开始经过的毫秒数来保存日期。在使用这种数据存储格式的条件下,Date类型保存的日期能够精确到1970年1月1日之前或之后285616年。

创建日期对象:

var d1=new Date();
var d2=new Date(“May 25,2008”);

Data对象的常用属性和方法:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
1.22 RegExp类型

RegExp对象表示正则表达式,它是字符串执行模式匹配的强大工具。ECMAScript正则表达式使用类似Perl的语法。

创建正则表达式
格式:

var expression=/pattern/flags; 或 var expression=new RegExp(pattern,flags);

参数说明:

pattern:字符串,指定正则表达式的模式或其他正则表达式

flags:可选参数  i-忽略大小写  g-全局匹配  m-多行模式

i:表示不区分大小写(case-insensitive)模式,即在确定匹配项时忽略模式与字符串
的大小写

g:表示全局(glob)模式,即模式将被应用于所有字符串,而非在发现第一个匹配项时
立即停止

m:表示多行模式(multiline)即在到达一行文本末尾时还会继续查找下一行中是否存在
与模式匹配的项。  

测试正则表达式:

如  var re1=new RegExp("abc","i");
		  var re2=/abc/i;

test()方法:

如  alert(re1.test("abc1234edefg"));
	alert(re2.test("ABCA1234edefg"));

RegExp对象的常用属性和方法:
在这里插入图片描述

JavaScript实现绘制四棱锥(附完整源码) 阅读详情

相关推荐

手把手教你搭建日本亚马逊CVV钓鱼系统(含自动验证功能)

本文详细介绍了电商平台安全防护的关键实践,重点讲解了如何构建自动化风控系统。内容包括基础架构设计、用户行为分析、交易风险评估模型构建、验证机制实现以及系统部署优化,帮助电商平台有效识别和防范安全威胁,同时提升用户体验。

weixin_30952535的博客 819

JavaScript学习手册四:JS对象

JS对象引言A、对象的创建任务描述相关知识代码文件B、属性的增删改查任务描述相关知识代码文件C、属性的检测和枚举任务描述相关知识代码文件 引言 1、JavaScript是基于对象的语言,在JavaScript中,一切都可以被称为对象,包括字符串、数字、布尔型、HTML Element等。这些JavaScript中已有的对象称为内置对象,而用户自己定义的对象叫做自定义对象。自定义对象是数据和函数(也叫方法)的集合。 2、这里要特别提醒的是,JavaScript虽然也是一门基于对象的语言,但是它实现对象的

qq_45823118的博客 7701

51单片机IAP技术详解:从原理到实战,实现远程程序自更新

在嵌入式系统开发中,程序更新是产品维护和功能迭代的核心需求。传统方式依赖外部烧录器,操作繁琐且无法远程进行。IAP(在应用中编程)技术则从原理层面解决了这一难题,它允许单片机在运行过程中通过特定接口(如串口)动态修改自身的Flash程序存储器。这项技术的核心价值在于赋予设备远程升级和自主维护的能力,极大地延长了产品生命周期并降低了维护成本。其典型应用场景包括智能家居控制器、工业数据采集模块和远程仪表等部署后不便拆卸的设备。本文以经典的51单片机(如STC89C52)为例,深入剖析IAP的实现,其中Bootl

weixin_29161719的博客 407

重新巩固JS(四)——JavaScript函数

文章目录1. 函数概述2. 函数定义3. 函数调用4. 函数参数4.1 默认值4.2 剩余参数5. 函数内部属性5.1 arguments对象5.2 this对象6. 函数是特殊对象6.1 函数的属性:length 和 name6.1.1 length属性6.1.2 name属性6.2 函数的方法: call、apply、bind6.2.1 call方法6.2.2 apply方法6.2.3 bin...

码飞_CC的博客 2217

从加权最小二乘(WLS)到IAA:手把手推导DOA估计中的迭代自适应核心公式

本文深入解析了从加权最小二乘(WLS)到迭代自适应算法(IAA)在DOA估计中的数学推导与应用。通过动态调整加权矩阵,IAA在低快拍数、相干源等复杂场景中展现出卓越性能,显著提升角度分辨率和检测概率。文章详细介绍了算法核心步骤、工程优化策略及前沿发展,为雷达探测和无线通信领域提供重要参考。

weixin_30847865的博客 291

Visual Studio Git 使用指南

Visual Studio 2022深度集成了Git功能,提供了直观的图形界面管理源代码。本文详细介绍了VS中Git的使用方法:从环境准备、克隆/创建仓库开始,重点讲解了"Git更改"窗口的日常操作,包括查看修改、暂存文件、提交推送等。同时涵盖了分支管理、查看历史、解决冲突等核心功能,以及储藏、重置等高级操作。文章还提供了实用技巧,如提交规范、频繁提交等最佳实践。VS的Git集成覆盖了日常开发需求,图形界面与命令行可互补使用,适合各层次开发者高效管理代码版本。

guigenyi的专栏 1573

JavaScript学习四 js对象的创建

简单的来说,js当中的类并不是

西红柿炒土豆 753

机器学习模型系列:随机森林的原理和示例介绍

让我们总结一下与其他监督式机器学习模型相比,随机森林的优缺点。优点在许多真实数据集上已知能提供高度准确的模型。通过结合多个决策树的预测,可以捕捉数据集中的复杂交互和模式。通过自动选择相关特征,可以有效处理高维数据集。与单个决策树相比,不容易过拟合。自助采样和每个节点的随机特征选择有助于减少过拟合并改善泛化能力。可以处理包括数值和分类特征在内的异构数据类型。可以处理缺失值而不需要填充。提供特征重要性的度量。集成中的树可以并行训练,因为每个决策树可以独立构建。模型的泛化误差具有理论上的界限。

数智笔记 1万+

Javascript中四舍六入五成双

Javascript中四舍六入五成双

qq_37296445的博客 761

Shopee App加密算法逆向实战:从抓包到libshpssdk.so的深度解析

本文详细解析了Shopee App加密算法的逆向过程,从网络抓包发现加密参数入手,通过Frida动态Hook定位到Java层关键方法,并深入追踪至Native层的libshpssdk.so核心函数。文章结合实战演示了如何利用Unidbg模拟执行环境进行算法分析与验证,并探讨了核心参数生成逻辑及风控规避要点,为移动安全与逆向工程研究提供了完整的技术路径。

weixin_28347369的博客 531

(五)C++自制植物大战僵尸游戏LoadingScene的实现讲解

游戏启动后就会立即切换到游戏加载场景中。只有游戏资源文件加载完成后,才能进入游戏。Loadingscene类继承Cocos2d-x中的Scene父类,表明Loadingscene是一个场景类。切换到LoadingScene场景中,首先会创建该场景,会调用函数,在该函数中调用自己定义的方法实现指定功能。代码文件的位置如下图所示。

尔灵尔亿的博客 2008

【前端灵魂脚本语言JavaScript④】——JS中函数的使用

JavaScript函数类似于java中的方法。

Python全栈系列 2516

YOLOv11 改进 - 检测头 | Detect_LSCD轻量共享卷积检测头:轻量化设计破解计算瓶颈,增强复杂场景目标感知能力

本文介绍了基于群归一化(GroupNorm)和共享卷积的轻量化检测头LSCD,并将其集成进YOLOv11。LSCD检测头充分利用了GroupNorm和共享卷积的优势,在保持特征信息有效融合的同时,减少计算量和运算复杂度。我们将LSCD的代码集成到YOLOv11检测头中,并在tasks文件中进行注册。实验证明,YOLOv11-LSCD在目标检测任务中取得了良好的效果。

魔改工程师的博客 2400

纯JS写的小众游戏——走四棋

过年正赶上新冠病毒不让出门,在家闲着没事,偶尔玩了一下老家流行的游戏(走四棋),然后就想把这个游戏用JS写出来,先练了一下贪吃蛇,等下也会在我的博客中单独贴出来,按照贪吃蛇动态生成dom元素的方法,粗略的写了一下走四棋,有很多地方存在代码冗余,设计也有待优化,但是基本效果是有了,首次效果做成这样,我也很满意了,话不多说,上代码,仅供大家参考。 <html> <b...

qq_38078190的博客 1301

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

js版四舍六入五成双方法

werwr asdadasd adasda

王李波的博客 1077

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

JS toFixed 四舍六入五成双

以前一直以为toFixed就是四舍五入的方法,后来又有一段时间以为toFixed是五舍六入。今天终于写的时候,终于才知道toFixed是一个叫做四舍六入无成双的诡异的方法。。。 完全不明白为什么要这么写。。。 什么是四舍六入五成双:百度是这么说的: 对于位数很多的近似数,当有效位数确定后,其后面多余的数字应该舍去,只保留有效数字最末一位,这种修约(舍入)规则是“四舍六入五成双”,

zeyu1021的专栏 4510

贝叶斯统计 [韦来生编]

贝叶斯(Bayes)统计是近几十年来迅速发展起来的数理统计的一个重要分支。贝叶斯方法与经典统计方法的主要不同之处是进行统计推断时除了利用样本信息外,还要利用参数的先验信息,因此可以提高统计推断或统计决策的效果。它在经济、金融、生物、医学、自然科学和社会科学等许多领域具有广泛的应用。贝叶斯方法的研究已渗透到了统计学的几乎所有领域。作者在给中国科学技术大学概率论与数理统计专业本科生开设的“数理统计”课程中有一章专门讲授“贝叶斯方法和统计决策理论”,近十年来也给中国科学技术大学概率统计专业研究生开设过几次“贝叶斯分析”课。本书是在对过去讲稿的内容作了适当的增减和调整的基础上完成的。  本书共分六章。第1章是绪论,介绍了贝叶斯统计的若干基本概念,同时对必要的数理统计的基础知识有重点地作了回顾。第二章介绍了确定先验分布的若干可供选择的方法。第三章介绍了几类常见统计模型参数的后验分布的主要结果和计算方法。第四章和第五章分别介绍了“贝叶斯统计推断”和“贝叶斯统计决策”的内容。第六章介绍了贝叶斯统计计算的若干方法,包括蒙特卡洛方法和马尔可夫链蒙特卡洛(MCMC)方法以及相关统计软件的简介。本书的每一章附右大量的例题和习题,书末附有常用的几个表格和部分习题解答供读者查用。  大约可在54学时内讲授本书的第1章至第六章的主要内容,教师可根据学时需要选讲本书第1章至第六章的部分内容。书中标“*”号的章节可略去不讲,留给读者作为阅读材料。第六章例题中的R代码和部分例题的数据文件等可从作者个人主页下载。  作者在编写本书的过程中参考了J.O.Berger教授的《统计决策论及贝叶斯分析》和茆诗松教授编写的《贝叶斯统计》等书中的一些内容,以及《贝叶斯分析》一书中由张伟平博士编写的有关贝叶斯统计计算的一些内容。在此表示衷心感谢。  本书编写准备过程中,中国科学技术大学统计与金融系的几个研究生帮助完成了本书部分中文的录入和排版,作者对他们的辛勤工作表示真诚的感谢。高等教育出版社为本书的出版给予了大力支持。在此一并致谢。

JS(四)JavaScript中的数组操作

substring使用起始索引和结束索引,而substr使用起始索引和长度。substr允许使用负数索引,而substring不支持。substring在处理不合法参数时会转换为 0,而substr则会处理为字符串末尾位置。

无人罪的博客 1023

EduCoder实训平台答案 JavaScript学习手册四:JS对象

简介 其他各类实训答案的目录见这里 答案查询的入口网页版 答案获取的方法简介见这里 并不是所有的关卡都有答案,有些只有部分关卡有,因为金币数量有限 JavaScript学习手册四:JS对象 >>>查看 第1关:对象的创建 ...

weixin_44505587的博客 1598

深入学习JavaScript系列(四)——JS闭包

函数体和创建函数时的作用域就是在一个执行上下文中创建的函数,如果访问了这个执行上下文中变量对象的值,那么闭包就产生了水平有限,很多地方写的不够严谨,下面几篇是我在学习过程中觉得很好的文章,想继续深入了解的同学可以去看看。参考一:# [译]发现 JavaScript 中闭包的强大威力参考二:# JavaScript闭包的底层运行机制参考三:# 我从来不理解JavaScript闭包,直到有人这样向我解释它…参考三:# 破解前端面试(80% 应聘者不及格系列):从闭包说起。

十九万里的博客 874

Javascript四:北风网JS总结

Javascript是一种高级,解释性脚本语言(scriptinglanguage);在HTML基础上,使用它可以开发交互式web网页。 实现网页和客户之间实时性的、动态的、交互性的关系,使网页包含更多活跃的元素和更加精彩的内容。 同时,它解决服务器端遗留下来的速度问题,为客户提供更为流畅的浏览效果;当然随着发展他解决的不单单是验证表单的速度问题。   Javascript包括三部分:EC

做一枚优雅的IT女 1244

四舍六入五成双方法-js版

四舍六入五成双方法-js版 // 规则: // 四舍六入五考虑,五后非零就进一,五后皆零看奇偶, 五前为偶应舍去, // 五前为奇要进一。 function round_sslr(num, decimalPlaces) { var d = decimalPlaces || 0; var m = Math.pow(10, d); var n = +(d ? num * m : num).toFixed(8); // Avoid rounding errors var i = Math.floor(n),

guotangwen的博客 954

银行家算法 四舍六入 Java方法以及js实现 前端以及后端处理

1.js实现方法前端处理place为有效位数 functionround2(num,place){ var tnum=Math.pow(10,place); if(Math.floor(num*tnum*10)%5==0&&Math.floor(num*tnum*10)==num*tnum*10&&Math.floor(num*tnum)%2==0){ returnMath.floor(num*tnum...

授人以渔的博客 695

JavaScript(JS)DOM(四)

介绍DOM相关知识点及使用方式。

。 671

JavaScript入门(四)JS函数

前言       本章学习js函数的相关知识 方法 1.函数的概念 说到函数,其实就是相当于Java中的方法。特别的是,js中的函数没有像Java那样复杂! 其作用与Java一样,进行功能代码块的封装,减少代码的冗余。 2.函数的声明 方式一:function 函数名(形参名1,形参名2……){执行体}(常用) function test1(a,b){ return a+b; }...

jwang的博客 286
上一篇: JavaScript(三)
下一篇: LeetCode1122. 数组的相对排序(Java)
inferno devil
博客等级 码龄9年 54粉丝 172原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值