JavaScript基础语法13-Web APIs

Web前端系列技术之Web APIs基础(从基础开始)② 所以今天主要介绍学习的内容就是:一、事件、二、高阶函数、三、环境对象、四、编程思想 阅读详情

1.Web APIs 和 JS基础关联性

1.1 JS 的组成

 1.2 JS 基础阶段以及Web APIs 阶段

2. API 和 Web API

2.1 API

2.1 Web API

 2.3 API 和 Web API 总结

【COMSOL】修改内置物理场方程 模拟水沸腾的蒸汽泡运动 在COMSOL中通过弱贡献(weak contribution)节点,可以向任何内置模型方程中添加约束。这里,以模拟水沸腾的蒸汽泡运动为例,来讲一讲当我们研究的方程与模块方程不一样时,应该怎么增加新的贡献项。 阅读详情

相关推荐

Autosar结合simulink的汽车应用层软件开发实例

本文基于汽车应用开发案例,并结合Autosar相关知识,生成具有Autosar标准的汽车应用层开发代码,以供学习和参考。以上就是本篇内容,主要是利用Simulink创建Autosar接口并进行端口映射的方法。

m0_64899535的博客 2153

JavaScript(跟着pink老师学js)(上半部分)

JavaScript(JS) 一、JavaScript是什么 运行在客户端的脚本语言 脚本语言:不需要编译,由Js解释器逐行进行解释并执行 现在也可基于Node.js技术进行服务器端编译(后台) 二、JavaScript作用 表单动态校验(比如:长度不够、不合格,就不用把数据送到数据库后台) 网页特效 桌面程序(比如:日历–) 服务器开发(Node.js) 三、JS(ECMAScript)基础语法 1.js分类 (1).行内式的js直接写到原html代码中 <input type="b

Xiao_Jin_Ling的博客 9382

蜗牛星际+OpenWrt实战:双网口变AP模式,让所有设备同网段互通

本文详细介绍了如何将蜗牛星际双网口小主机刷入OpenWrt系统,并将其配置为AP模式,实现与主路由同网段的无缝桥接。通过关闭DHCP、桥接物理网口等核心步骤,解决家庭网络设备割裂问题,让所有设备在同一局域网内高效互通,特别适合追求网络简洁和厌恶多级NAT的技术爱好者。

zero1的博客 967

Web APIs

ECMAScript 运行在浏览器中然后再结合 Web APIs 才是真正的 JavaScript,Web APIs 的核心是 DOM 和 BOM。DOM(Document Object Model)是将整个 HTML 文档的每一个标签元素视为一个对象,这个对象下包含了许多的属性和方法,通过操作这些属性或者调用这些方法实现对 HTML 的动态更新,为实现网页特效以及用户交互提供技术支撑。简言之 DOM 是用来动态修改 HTML 的,其目的是开发网页特效及用户交互。 如下图所示,将 HTML 文档以树状结构直

我的博客 814

智能垃圾桶改造指南:树莓派+垃圾分类模型部署全记录(含数据集获取)

本文提供了一份详尽的智能垃圾桶DIY改造指南,核心是利用树莓派部署轻量化的YOLOv8垃圾分类模型。内容涵盖从数据集获取、模型训练与OpenVINO量化优化,到硬件组装、电路连接及软件集成的全流程,旨在帮助创客和爱好者以低成本实现一个能自动识别垃圾并分类的AIoT原型系统。

k6l7m8n9的博客 509

ESP32-C61 eFuse控制器深度解析:寄存器架构与安全烧写实践

eFuse(电子熔丝)是嵌入式芯片实现硬件级不可逆配置与信任根构建的核心物理机制,其本质是通过电学编程固化关键安全参数。原理上依赖熔丝单元的单向导通/断开特性,结合Reed-Solomon纠错、多级写保护和时序可控编程,保障数据在宽温域与工艺偏差下的高可靠性。技术价值在于为Secure Boot、Flash加密、密钥隔离等安全功能提供可信锚点,支撑从启动到运行的全链路防护。典型应用场景涵盖物联网设备量产烧录、安全启动使能、MAC地址固化及抗DPA密码运算配置。本文聚焦ESP32-C61平台,深入解析其eFu

weixin_42589700的博客 123

JavaScript 之 web APIs

本文是JavaScript里面一些关于web APIs的一些知识点

m0_48899258的博客 484

基于R语言的现代贝叶斯统计学方法(贝叶斯参数估计、贝叶斯回归、贝叶斯计算)实践

贝叶斯统计学是一门基本思想与传统基于频率思想的统计学完全不同的统计学方法;它以其灵活性和先进性在现代的统计学中占据着重要的地位。贝叶斯统计学是开展科学研究不可缺少的重要手段,但是,因为其思想、技术和方法都与传统统计学有着较大区别;且其计算中涉及马尔科夫、蒙特卡罗和吉布斯采样等现代计算方法,对使用者经验和能力构成了很大的挑战。

AAIshangyanxiu的博客 681

js基础语法

1.1 js是什么? 运行客户端(浏览器)的编程语言,实现人机交互效果 1.2 js的作用 1.网页特效(监听用户的一些行为让网页作出对应的反馈) 2.表单验证(针对表单数据的合法性进行判断) 3.数据交互(获取后台的数据,渲染到前端) 4.服务端编程(node.js) 1.3 javaScript的组成 1.31 ECMAScript 规定了js基础语法核心知识(变量、分支语句、循环语句、对象等等) 1.32 Web APIs DOM 操作文档,比如对页面元素进行移动、大小、添加删除

m0_60645026的博客 975

全新YOLO26有效涨点改进专栏目录 | 本专栏持续更新500+篇内容 | 包含各种卷积、主干网络、各种注意力机制、检测头、损失函数、小目标检测改进、二次创新模块、独家创新等几百种创新点改进

🔥《2026年YOLO26改进专栏》🔥 🚀持续更新500+最前沿创新改进点(顶会顶刊论文/独家创新策略),涵盖主干网络、各种卷积、注意力机制、检测头等模块,助力科研论文发表与模型性能提升,支持检测/分割/分类任务。订阅即获完整可运行项目,提供专业QQ答疑群,适合科研发论文(SCI/CCF/核心)及工业应用(PCB/医学/遥感检测)。专栏价格将逐步上涨,早订更优惠! ⭐特色:非计算机专业友好、模块可自由组合、全网独家创新;📌适用:研究生大论文和小论文创新、小目标检测、多领域科研应用,满足不同研究需求。

Ai缝合怪、助力小伙伴高效发论文 5174

模型预测控制(MPC)解析(三):多输入多输出系统

本文为阅读笔记,仅供学习交流使用!!! 在之前的文章中,为了简单起见,以单输入单输出系统为例介绍了MPC控制的实现方法。因为使用的是状态空间方程作为系统模型,这种方法可以轻松的扩展到多输入多输出系统中。 ...

行者无疆的博客 1万+

js基础知识点

js基础知识点1.变量2.数据类型3.循环与迭代4.函数 1.变量 变量声明 var:声明一个变量,可选初始化一个值(有变量提升) let:声明一个块作用域的局部变量,可选初始化一个值(没有变量提升) const:声明一个块作用域的只读常量,必须初始化一个值 变量提升:你可以先使用变量稍后再声明变量而不会引发异常。变量感觉上是被“提升”或移到了函数或语句的最前面。但是,提升后的变量将返回 ...

qq_40077167的博客 1265

Transformer实战(38)——视觉Transformer (Vision Transformer, ViT)

Transformer 在自然语言处理 (NLP) 领域取得了显著成就,在许多不同的任务中都表现出色。在本节中,我们将探索视觉 Transformer (Vision Transformer, ViT) 模型。正如 NLP 领域创建了多种模型一样,视觉领域也开发了多种模型,每种模型都为计算机视觉提供了新的视角。通过本节,将学习如何使用 ViT 等模型进行计算机视觉任务,了解基于 Transformer 的预训练计算机视觉模型的工作原理,以及如何针对特定任务进行微调。

盼小辉丶的博客 2931

Web APIs 笔记(DOM BOM)

一、Web APIs 1. Web APIs 和JS基础关联性 1.1 JS的组成 1.2 JS基础阶段以及Web APIs 阶段 JS 基础学习 ECMAScript 基础语法为后面做铺垫,Web APIs 是 JS 的应用,大量使用 JS 基础语法做交互效果 2. API 和 Web API 总结 API 是为程序员提供的一个接口,帮助我们实现某种功能,我们会使用就可以了,不必纠结内部如何实现 Web API 主要是针对于浏览器提供的借口,主要针对于浏览器做交互效果。 Web

qq_47132211的博客 2684

深度学习工具包 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")

Statistics and Machine Learning Toolbox

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

JavaScript基础

JS是一种运行在客户端(浏览器)的编程语言,实现人机交互的效果作用:网页特效:监听用户的一些行为让网页做出对应的反馈表单验证:针对表单数据的合法性进行判断数据交互:获取后台的数据,渲染到前端服务端编程:node.js组成:JavaScript语言基础(ECMAScript):变量、分支语句、循环语句、对象等等Web APIs(DOM(网页文档对象模型:对网页元素进行移动、大小等),BOM(浏览器对象模型:页面弹窗,检测窗口宽度))

2301_80150315的博客 1050

STM32F407中文手册

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

【Web APIs】事件

事件,事件监听addEventListener,事件类型click,input,blur,focus,高阶函数,函数表达式,回调函数,环境对象this,编程思想,排他思想,Tab栏切换案例

m0_64538862的博客 790

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

【JavaScript】07-APIs - DOM + BOM

本文目前介绍JS中的API的知识点,操作案例后续补充。

2301_76662826的博客 1206

web13.Node.js

Node.js概述 Node.js概述 Node.js 就是运行在服务端的 JavaScript。 Node.js 是一个基于Chrome JavaScript 运行时建立的一 个平台。 Node.js是一个事件驱动、I/O、服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript 的速度非常快,性能非常好。 Node.js的结构 Node.js标准库:是在使用过程中能直接调用的API 具体 包括http、net、stream、fs、buffer、events等模块

qvwvq的博客 223

Web API - day01【笔记+代码】

文章目录1. Web APIs 和 JS 基础关联性2. API 和 Web API1. DOM 简介2. 获取元素01 - getElementById获取元素02 - getElementsByTagName获取某些元素03 - H5新增获取元素方式04 - 获取特殊元素3. 事件基础05 - 事件三要素06 - 执行事件步骤4. 操作元素07 - 操作元素之改变元素内容08 - innerText和innerHTML的区别09 - 操作元素之修改元素属性 1. Web APIs 和 JS 基础关联性

weixin_41700993的博客 843

JavaScript基础day01

定义:一种运行在客户端(浏览器)的编程语言,实现人机交互效果。作用:(1)网页特效 (监听用户的一些行为让网页作出对应的反馈)(2)表单验证 (针对表单数据的合法性进行判断)(3)数据交互 (获取后台的数据, 渲染到前端)(4)服务端编程 (node.js)组成:(1)ECMAScript:规定了js基础语法核心知识。比如:变量、分支语句、循环语句、对象等等(2)Web APIs : DOM 操作文档,比如对页面元素进行移动、大小、添加删除。

m0_74153968的博客 789

JS基础笔记

JavaScript基础语法摘要 JavaScript是一种客户端脚本语言,由ECMAScript和Web APIs组成。核心内容包括: 变量声明:使用let/const,遵循小驼峰命名法 数据类型:包括数字、字符串、布尔等基本类型,以及对象等引用类型 类型转换:分为隐式转换和显式转换(Number()/String()) 运算符:比较运算符、逻辑运算符及其优先级 流程控制:if/switch分支语句,while/for循环语句 函数:定义与调用,参数默认值,返回值 数组:常用方法如push/pop/spl

妖尾攻城狮的博客 363

【JavaScript-Day 43】从单线程到事件循环:深入解析JS同步与异步核心机制

本文深入浅出地探讨了 JavaScript 中的两大核心编程模型:**同步(Synchronous)**与**异步(Asynchronous)**。你将理解同步操作为何会导致“阻塞”,以及异步如何通过非阻塞机制解放主线程,提升应用性能和用户体验。文章将为你揭示 JavaScript 单线程背后实现异步的魔法——**事件循环(Event Loop)**,并图文并茂地解析**调用栈(Call Stack)**、**任务队列(Task Queue)**等关键概念。

吴师兄大模型的博客 1086

黑马程序员-JavaScript-day01

JavaScript简介和体验 01-JS书写位置 02-JS注释和结束符 03-JS输入输出 04-变量的声明与复制 05-变量的更新以及输入用户名案例 06-交换变量 07-变量的本质和命名规则 08-数组的基本使用 09-常量 10-数字数据类型和算数运算符 11-字符串类型 12-模板字符串 13-bool、null、undefine 14-数据类型 15-隐式转换、显示转换 综合案例-交互表格

qyk666的博客 774

javaScript学习

JavaScript包括ECMAScript(基础语法)和Web APIsWeb APIs包括DOM,BOM。

sanguine__的博客 632

JavaScript 学习笔记 超详细(b站pink老师)

1. JavaScript (是什么?是一种运行在客户端(浏览器)的编程语言,实现人机交互效果。2. 作用(做什么?– 网页特效 (监听用户的一些行为让网页作出对应的反馈)– 表单验证 (针对表单数据的合法性进行判断)– 数据交互 (获取后台的数据, 渲染到前端)– 服务端编程 (node.js)3. JavaScript的组成(有什么?

weixin_59531237的博客 2万+

JavaScript的Web APIs 入门到实战(day6):正则表达式实战表单验证(常见注册页案例)

本文系统讲解正则表达式在前端表单验证中的应用。文章首先介绍正则表达式的基础概念和核心语法,包括元字符、边界符、量词和修饰符的使用方法。然后通过实例演示常见表单验证规则,如用户名校验(6-16位字母数字下划线)、手机号校验(11位标准格式)、密码校验(8-20位含大小写字母数字特殊字符)和邮箱校验。最后结合注册页面案例,展示如何通过监听change事件实现实时表单验证,并给出实用调试工具和避坑建议。全文提供可直接复用的代码示例,帮助开发者快速掌握正则表达式在前端验证中的实际应用。

qq_51572290的博客 743
上一篇: JavaScript基础语法12-简单数据类型和复杂数据类型 code7
下一篇: JavaScript基础语法14-DOM code8
BUG_devil
博客等级 码龄5年 45粉丝 29原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值