JS基本语法-JavaScript中的常用对象2-Math对象的max和random,即获取最大值和获取随机数函数

开发者的避坑指南:在Apple Silicon Mac上构建RocketMQ Python客户端的完整心路历程 本文详细记录了在Apple Silicon Mac上构建RocketMQ Python客户端的完整过程,重点解决了架构兼容性问题。通过源码编译rocketmq-client-cpp库,修复构建脚本和CMake配置,最终成功在M2芯片MacBook Pro上部署RocketMQ Python客户端,为开发者提供了实用的避坑指南。 阅读详情

1. 简介:

本节来介绍Math函数(数学函数)中最常用的,也是比较容易出错的两个函数:max()和random(),即获取最大值和获取随机数函数。

2. max(n1,n2,n3,...):

max()函数用于获取参数中的最大值,可以有多个参数。如果想要得到一个正确的值,必须保证参数的类型都是数字或者可以转换为数字。

例子程序:

math_test.js中的max_test()函数:

function max_test(){
	//case1
	var res = Math.max(10,20);
	console.log("case1,res=",res);
    
    //case2
	res = Math.max(10,50,40,20,35,65);
	console.log("case2,res=",res);

    //case3
	res = Math.max(-10,-20,-5,-15);
	console.log("case3,res=",res);

	//case4
	res = Math.max(10.5,20.5,15.5);
	console.log("case4,res=",res);

	//case5:无参
	res = Math.max();
	console.log("case5,无参,res=",res);

	//case6:有NaN
	res = Math.max(10,NaN,20);
	console.log("case6,无参,res=",res);

	//case7:有非数字
	var a = "a";
	res = Math.max(10,20,a);
	console.log("case7,无参,res=",res);
}

测试结果(在对应的html中查看log信息):

case1,res= 20
math_test.js:8 case2,res= 65
math_test.js:12 case3,res= -5
math_test.js:16 case4,res= 20.5
math_test.js:20 case5,无参,res= -Infinity
math_test.js:24 case6,无参,res= NaN
math_test.js:29 case7,无参,res= NaN

说明:

如果参数中有NaN或者不能转换成数字的参数,则返回NaN,见case6和case7;

如果无参数,则返回 Infinity,见case5。

2. random():

获取随机数函数。

注意:获取到的是0(包含0)~1(不包含1)的值。

例子程序:

math_test.js中的random_test()函数:

function random_test() {
	//case1:获取0~1之间的随机数
	var res = Math.random();
	console.log("case1,random res=",res);

	//case2:获取0~100之间的随机数
	res = Math.floor((Math.random()*100)+1);
	console.log("case2,random res=",res);
    

}

测试结果:

case1,random res= 0.044891803755208626
math_test.js:39 case2,random res= 64

3. Math对象的其它函数和属性:

常用的如下:

属性:

E       :算术常量 e,即自然对数的底数(约等于2.718)。
LN2       :2 的自然对数(约等于0.693)。
LN10   :10 的自然对数(约等于2.302)。
LOG2E  :以 2 为底的 e 的对数(约等于 1.4426950408889634)。
LOG10E :以 10 为底的 e 的对数(约等于0.434)。
PI       :圆周率(约等于3.14159)。
SQRT1_2:2 的平方根的倒数(约等于 0.707)。
SQRT2  :2 的平方根(约等于 1.414)。

函数:


abs(x)        //求 x 的绝对值。
acos(x)        //求 x 的反余弦值。
asin(x)        //求 x 的反正弦值。
atan(x)        //以介于 -PI/2 与 PI/2 弧度之间的数值来求 x 的反正切值。
atan2(y,x)    //求从 x 轴到点 (x,y) 的角度(介于 -PI/2 与 PI/2 弧度之间)。
ceil(x)        //对数进行上舍入。
cos(x)        //求余弦。
exp(x)        //求 Ex 的指数。
floor(x)    //对 x 进行下舍入。
log(x)        //求自然对数(底为e)。
max(x,y,z,...,n) //求 x,y,z,...,n 中的最高值。
min(x,y,z,...,n) //求 x,y,z,...,n中的最低值。
pow(x,y)    //求 x 的 y 次幂。
random()    //求 0 ~ 1 之间的随机数。
round(x)    //对x进行四舍五入。
sin(x)        //求数的正弦。
sqrt(x)        //求数的平方根。
tan(x)        //求角的正切。


SIMULINK开发项目实例 1000 例专栏之第912例--AC-DC整流器场景:基于PWM整流器拓扑结构的建模:三相电压型PWM整流器(SR)单位功率因数控制仿真 本文详细介绍了使用Simulink和Simscape Electrical搭建三相电压型PWM整流器(VSR)模型的方法。主要内容包括:系统结构设计、主电路拓扑搭建、单位功率因数控制算法实现(含PLL锁相环、dq变换、PI控制器等模块)、参数配置和仿真设置。通过仿真分析验证了该系统能实现输入电流与电压同相位、输出直流电压稳定等特性,体现了PWM整流器的高效性和低谐波优势。文章还提出了增强鲁棒性、多工况测试等优化建议,为电力电子系统设计提供了实用指导。该建模方法对新能源发电、电动汽车充电等领域具有重要意义。 阅读详情

相关推荐

SVPWM分析、各个扇区详细计算以及Matlab仿真

SVPWM分析以及各个扇区详细计算以及Matlab仿真说明目的两电平逆变器拓扑空间矢量扇区判断扇区内如何发波?矢量作用时间计算矢量切换时间的计算Simulink仿真/基于Matlab-R2014a版本 说明 第一次发文章,不太会用Markdown,word编辑的公式复制过来有些是乱码,因此都贴图了。 另外,本文公式和图片比较多,编辑工作量比较大,比较辛苦,转载的话,请注明出处,谢谢。 目的 由于在...

michaelf的博客 12万+

无涯教程-Javascript - max()函数

此方法返回零个或多个数字中最大的一个,如果未给出参数,则输出为-Infinity。

无涯教程 1721

STM32F407通过FSMC接口与LAN9252的EtherCAT从站移植实战

本文详细介绍了在STM32F407平台上,通过FSMC接口驱动LAN9252 EtherCAT从站控制器的完整移植实战。内容涵盖硬件连接、FSMC时序配置、官方SDK代码分析与关键修改、EtherCAT协议栈集成适配,以及实战调试与稳定性优化技巧,旨在帮助工程师解决工业通信中的核心挑战,实现稳定高效的实时控制网络接入。

weixin_29268267的博客 274

javascript中max,min的用法

之所以专门把max在js中的用法提出来讲是因为在js中,直接使用Math.max()求一个数组的最大值是行不通的,亲测有效地是上述方法。例题如下:输入10本书的价格,求其最大值,最小值和平均值。

m0_60707708的博客 387

DeepL Pro免费使用技巧与API调用优化方案

机器翻译技术通过神经网络模型实现跨语言语义转换,其核心价值在于保持专业术语准确性的同时实现自然语言流畅度。现代翻译工具如DeepL采用注意力机制等深度学习技术,在医疗、法律等专业领域展现出接近人工翻译的质量。针对API调用场景,开发者可通过请求模拟实现小批量自动化处理,而文档预处理和术语库优化则能显著提升免费额度使用效率。本文重点解析如何通过字符计算优化、临时接口调用等工程实践方法,在合规前提下最大化利用免费翻译资源。

weixin_29038303的博客 265

【知识图谱】neo4j桌面版安装与配置-解决无法启功问题(2025年最新最全教程)

(经历过各种版本NEO4J,相比社区版而言,个人感觉桌面版更适合新手,安装调试更少更方便。如果是社区版改桌面版的,记得删除系统变量里NEO4J_HOME这个变量,否则会报错。

知识靠谱的博客 2万+

JS-数组的排序(max/min)

js

qq_35389653的博客 1078

基于 Qt C++ 的 2D 动画制作工具

你可以修改它的中心坐标 (X, Y)、宽度 (W)、高度 (H),或点击 "选择颜色" 按钮改变其填充色。* **图形视图 (`QGraphicsView` 和 `QGraphicsScene`)**: 用于显示和编辑当前帧的内容。

寒寒豆豆软件公司的博客 114

js获取数组中的最大值的9种方法

js获取数组中的最大值的9种方法

xiansibao的博客 1万+

39、低功耗处理器性能评估与Cortex - M23/M33低功耗特性解析

本文深入解析了Cortex-M23和Cortex-M33处理器的低功耗特性及其性能评估方法。介绍了ULPMark、CoreMark、IoTMark-BLE和SecureMark-TLS等基准测试在能效评估中的应用,并详细阐述了处理器的睡眠模式、系统控制寄存器(SCR)配置、WFI/WFE指令、退出时睡眠、挂起时发送事件(SEVONPEND)以及唤醒中断控制器(WIC)等关键低功耗机制。结合状态保留技术,展示了如何通过芯片级设计大幅降低泄漏电流,实现高效能低功耗的物联网与嵌入式系统设计。

Pepper的专栏 129

javascript中max,min的用法,web开发环境搭建

实验二-四

m0_60229361的博客 322

用 Docker 一键部署 SillyTavern酒馆 mac/windows/linux通用教程,我再也不手动折腾了!

本文介绍了如何使用 Docker 一键部署 SillyTavern 项目,适用于 Mac、Windows 和 Linux 系统。SillyTavern 是一个本地部署的大语言模型聊天界面,支持多种插件和扩展。文章详细说明了安装 Docker、拉取项目、启动容器、配置白名单、启用插件等步骤,并提供了常见问题的解决方法。通过 Docker 部署,用户可以避免繁琐的手动配置,快速搭建和运行 SillyTavern,适合希望简化部署流程的用户。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 2621

JavaScript中的Math对象和随机数

浮点数运算可能存在精度问题,处理金额等敏感数据时建议转成整数计算。JavaScript 原生不支持种子随机数,需自行实现算法(如。区间内的浮点数(包含 0,不包含 1)。确保公式正确闭合区间(如。

2301_82023822的博客 2600

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

JS的Math对象,求数组的最大值max(),最小值min(),随机数 random()

1,使用Math对象获取最大值的方法max()和获取最小值min()方法。 var max=Math.max(3,5,7,9,6,4,2) // 9 var min=Math.min(3,5,7,9,6,4,2) // 2 使用Math对象获取数组中的最大值和最小值: 会使用到apply()方法,将Math对象作为apply()的第一个参数,从而正确的设置this。然后将数组作为...

Zeng__Yi的博客 5814

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

Aimless.js与Math.random对比:为什么你需要这个JavaScript随机数库

如果你曾经在JavaScript项目中需要生成随机数,那么你一定使用过`Math.random()`。这个内置函数虽然简单易用,但在实际开发中常常会遇到各种限制。Aimless.js正是为了解决这些问题而生的JavaScript随机数库,它提供了比原生Math.random更强大、更灵活的功能。本文将为你详细对比这两个工具,并解释为什么Aimless.js应该成为你的首选随机数解决方案。 ##

gitblog_01081的博客 1090

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

【JS】Math对象的常用方法,通过Math.random取得各种范围内的随机数

Math对象的常用方法,Math.random分布模式(Math.random获取各种数据方法),不要使用Math.random()生成随机数,Math.random()生成伪随机数为均匀分布。

weixin_44100002的博客 1464

Math对象随机数方法—random()

随机数random() 1、Math对象里面随机数方法,random()返回一个随机的小数 0 <= x < 1; 2、这个方法里面不跟参数; 3、验证代码: console.log(Math.random()) 4、如果得到随机整数,并且包含这2个整数: Math.floor(Math.random()*(max - min + 1)) + min; 例: function getRandom(min, max) { return Math.floor

牛先森家的博客 1万+

JavaScript 随机数 – 如何在 JS 中生成随机数

确定不进来学习看一下嘛

six6de6的博客 3686

javascript取随机数_js随机数生成方法和实例,生成[n,m]的随机整数,获取1-10之间的随机数...

随机数在实际中使用很广泛,比如要随即生成一个固定长度的字符串、数字。或者像js-task1中一样随机选择一个盒子,随机一个颜色等等。这个时候我们就要知道用js应该如何获取一个随机数。一、js随机数知识Math.ceil(); //向上取整。Math.floor(); //向下取整。Math.round(); //四舍五入。Math.random(); //0.0 ~ 1.0 之间的一个伪随...

weixin_39902107的博客 3265

js中math常用使用方法

1.min()和max()方法 Math.min()用于确定一组数值中的最小值。Math.max()用于确定一组数值中的最大值。 alert(Math.min(2,4,3,6,3,8,0,1,3)); //最小值 alert(Math.max(4,7,8,3,1,9,6,0,3,2)); //最大值 2.舍入方法 Math.ceil()执行向上舍入,即它总是将数值向上舍入为最接近的整数; Math.floor()

前端小99的博客 3223

JavaScript的数学对象——Math对象

JavaScript的数学对象——Math对象JavaScript的数学对象——Math对象

weixin_49376454的博客 1127

Math对象中常用几个函数ceil,floor,max,min,trunc,

一. Math.trunc(x) 概述 用于返回数字的整数部分,数字符号位也会返回。函数参数分为两大种类:能转化为数值,返回数字的整数部分;无法转化为数值的返回NaN 基本用法 let a = Math.trunc(12.2) let b = Math.trunc('13.1') let c = Math.trunc(-1.2) let d = Math.trunc('aaa') let e = ...

是一座岛 1953

javascript取随机数_javaScript中的随机数方法

随机数方法是javaScript中经常使用的一种方法。 例如,需要在屏幕上的一个随机位置显示一幅图像,编写的小游戏要扔骰子等。javaScript中Math对象的random()方法生成0-1之间的随机数,它的随机数种子采用系统时间,因此可以基本保证每次调用random()方法时都会采用不同的伪随机数序列。下面我们对javaScript中的各种随机数方法做一个小结。基本的随机数在javaScrip...

weixin_39827905的博客 2969

JavaScript常用的对象——Math对象详谈

说到Javascript对象,能想到好多,比如创建数组使用的Array,比如创建函数使用的Function等等。今天我要说的是Math对象。 Math对象 首先Math对象是什么,Math对象的作用又是什么? Math对象属于JavaScript对象中的内置对象,它不同于Array、Function、Object等对象可以创建构造,它是由ECMAScript实现提供,在程序开始执行时出现,可以通过...

qq_31152975的博客 1683

Math的常用方法获取随机数、最大小值、舍入方法

获取m到n之间的随机整数 //Math.random() 获取0到1之间的随机数 var aa=Math.random(); console.log(aa); 打印结果: // var bb=Math.random()*6; // console.log(bb); 打印结果 //Math.floor()向下取整 var cc=Math.floor(Math.random()*6) console.log(cc); 打印结果 //获取[m,n]之间的随机整数 // var

weixin_45803990的博客 3079
上一篇: JS基本语法-JavaScript中的常用对象1-Date对象,即日期和时间对象
下一篇: JS基本语法-JavaScript中的常用对象3-window对象,即窗口对象
liranke
博客等级 码龄20年 4939粉丝 594原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

liranke

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值