JavaScript基础语法8-函数

前端 - JavaScript(基础语法) JavaScript 初识 JavaScript JavaScript 是什么 JavaScript (简称 JS) 是世界上最流行的编程语言之一 是一个脚本语言, 通过解释器运行 主要在客户端(浏览器)上运行, 现在也可以基于 node.js 在服务器端运行. JavaScript 最初只是为了完成简单的表单验证(验证数据合法性), 结果后来不小心就火了. 当前 JavaScript 已经成为了一个通用的编程语言 JavaScript 的能做的事情: 网页开发(更复杂的特效和用户交互) 网页游戏开发 服务 阅读详情

  • 函数的概念

函数:就是封装了一段可被重复调用执行的代码块。通过此代码块可以实现大量代码的使用。

  • 函数的使用

函数使用分为两步: 声明函数 和 调用函数

1. 声明函数

2. 调用函数

 3. 函数的封装

函数的封装是把一个或者多个功能通过函数的方式封装起来,对外只提供一个简单的函数接口

    <script>
        // 利用函数计算1-100之间的累加和
        // 1. 声明函数
        function getSum(){
            var sum = 0;
            for(var i = 0; i <= 100; i++){
                sum += i;
            }
            console.log(sum);
        }
        // 2. 调用函数
        getSum();
    </script>
  • 函数的参数

1. 形参和实参

 示例及注意点:

    <script>
        // 1. 函数可以重复相同的代码
        function cook(){
            console.log('番茄鸡蛋');
        }
        cook();
        cook();

        // 2. 我们可以利用函数的参数实现函数重复不同的代码
         /* function 函数名(形参1, 形参2...){ // 在声明函数的小括号里面是 形参 (形式上的参数)

        }
        函数名(实参1, 实参2...); // 在函数调用的小括号里面是实参 (实际的参数)
         */

        // 3. 形参和实参的执行过程
        function cook1(aru){  // 形参是接收实参的 aru = '酸辣土豆丝'; 形参类似一个变量
            console.log(aru);
        } 
        cook1('酸辣土豆丝');
        cook1('大肘子');

        //  函数的参数可以有,也可以没有  参数个数不限
    </script>

 案例

    <script>
        //  1. 利用函数求任意两个数的和
        function getAddNum(num1, num2){
            console.log(num1 + num2);
        }
        addNum(1,3);
        addNum(4,3);

        //  2. 利用函数求任意两个数之间的和
        function getSumNum(num1, num2){
            var sum = 0;
            for(var i = num1; i <= num2; i++){
                sum += i;
            }
            console.log(sum);
        }
        sumNum(1,5);
        sumNum(1,50);

        // 3. 注意点
        // (1) 多个参数之间用逗号隔开
        // (2) 形参可以看做是不用声明的变量
    </script>

 2. 函数形参和实参个数不匹配的问题

 注意: 在javaScript中,形参的默认值是undefined

案例

    <script>
        //  函数形参实参个数匹配
        function getSum(num1, num2){
            console.log(num1 + num2);
        }
        // 1. 如果实参的个数和形参的个数一致 则正常输出结果
        getSum(2,3);
        // 2. 如果实参的个数多于形参的个数 只取形参的个数,多于形参个数的忽略
        getSum(2,6,4);
        // 3. 如果实参的个数小于形参的个数
        // 形参可以看做是不用声明的变量 num2 是一个变量但是没有接受值 结果是undefined
        getSum(2); //NaN
        // 建议 我们尽量让实参的个数和形参相匹配
    </script>

 3. 小结

  • 函数的返回值

1. return语句

    <script>
        // 函数是做某件事或者实现某种功能
        function cook(aru){
            console.log(aru);
        }
        cook('大肘子');

        // 2.函数的返回值格式
        function 函数名(){
            return 需要返回的结果;
        }
        函数名();
        // (1) 函数只是实现某种功能, 最终的结果需要返回给函数的调用者 函数名()
        // (2) 只要函数遇到return 就把后面的结果 返回给函数的调用者 函数名() = return后面的结果
        function getResult(){
            return 666;
        }
        getResult(); //  getResult() = 666
        console.log( getResult());

        function cook(aru){
            return aru;
        }
        console.log(cook('大肘子'));

        // 4. 求任意两个数的和
        function getSum(num1, num2){
            return num1 + num2;
        }
        console.log(getSum());
    </script>

2. return 终止函数

return 语句之后的代码不被执行

    <script>
        // 函数返回值注意事项
        // 1. return 终止函数
        function getSum(num1, num2){
            return num1 + num2; // return 后面的代码不会执行
            console.log(num1);
        }
       var sum = getSum(1, 3);
       console.log(sum);
    </script>

3. return 的返回值

return 只能返回一个值。

    <script>
        // 函数返回值注意事项
        // 1. return 终止函数
        function getSum(num1, num2){
            return num1 + num2; // return 后面的代码不执行
            console.log(num1);
        }
       var sum = getSum(1, 3);
       console.log(sum);

        // 2. return 只能返回一个值
        function fn(num1, num2){
            return num1, num2; //返回的结果是最后一个值
        }
        console.log(fn(1, 2));

        // 3. 求任意两个数的 加减乘除
        function getRes(num1, num2){
            return [num1+num2,num1-num2,num1*num2,num1/num2];
        }
        var res = getRes(2, 3); // 返回的是一个数组
        console.log(res);
    </script>

4. 函数没有return 返回 undefined  

函数都是有返回值的

1.如果有return 则返回return 后面的值

2.如果没有return  则返回 undefined

   <script>
       //  函数有return 返回 return后面的值; 函数没有return返回 undefined  
        function fun1(){
            return 666;
        }
        console.log(fun1()); // 返回666
        function fun2(){
           
        }
        console.log(fun2()); // 返回undefined  
    </script>

5. break, continue, return 的区别

  • arguments的使用

 

    <script>
        // arguments 的使用  只有函数才有arguments 而且每个函数都内置了arguments
        function fn(){
            console.log(arguments); // 里面存储了所有传递过来的实参
            console.log(arguments.length);
            console.log(argument[2]);
            // 可以按照数组的方式遍历arguments
           /*  for(var i = 0; i < arguments.length; i++){
                console.log(arguments[i]);
            }  */
        }
        fn(1,2,3);
        fn(1,2,3,4,5);
        // 伪数组 并不是真正意义上的数组
        // 1. 具有数组的 length 属性
        // 2. 按照索引的方式进行存储的
        // 3. 它没有真正数组的一些方法 pop() push() 等
    </script>

 案例

    <script>
        // 利用函数求任意函数的最大值
        function getMax(){
            var max = arguments[0];
            for(var i = 1; i < arguments.length; i++){
                if(arguments[i] > max){
                    max = arguments[i];;
                }
            }
             return max; 
        }
        console.log(getMax(1,2,3));
        console.log(getMax(1,2,3,4,5));
        console.log(getMax(11,22,35,44,55));
    </script>

  • 函数案例

     1.   利用函数封装方式,对数组排序--冒泡排序

    <script>
        // 利用函数封装方式,对数组排序--冒泡排序
        function sort(arr){
            for(var i = 0; i < arr.length - 1; i++){
                for (var j = 0; j < arr.length - i - 1; j++ ){
                    if(arr[j] > arr[j+1]){
                        var temp = arr[j];
                        arr[j] = arr[j + 1];
                        arr[j + 1] = temp;
                    }
                }
            }
            return arr;
        }
        var arr1 = sort([6,9,4,3]);
        console.log(arr1);
    </script>

2.判断闰年

    <script>
        // 输入一个年份,判断是否是闰年(闰年:能被4整除并且不能被100整除,或者能被400整除)
        function isRunYear(year){
            // 如果是闰年 返回true  否则返回false
            var flag = false;
            if(year % 4 == 0 && year % 100 != 0 || year % 400 == 0){
                flag = true;
            }
            return flag;
        }
        console.log(isRunYear(2000));
    </script>

3. 函数相互调用

    <script>
        //  函数互相调用
        function fn1(){
            console.log(11);
            fn2(); // 在fn1 函数里面调用了 fn2 函数
        }
        fn1();
        function fn2(){
            console.log(22);
        }
    </script>

4. 用户输入年份,输出当前年份的2月份的天数

    <script>
        // 用户输入年份,输出当前年份的2月份的天数
        function backDay(){
            var year = prompt('请你输入年份');
            if(isRunYear(year) == true){
              alert('29天');  
            }else{
                alert('28天');
            }
        }
        backDay();

        // 判断是否为闰年的函数
        function isRunYear(year){
            // 如果是闰年 返回true  否则返回false
            var flag = false;
            if(year % 4 == 0 && year % 100 != 0 || year % 400 == 0){
                flag = true;
            }
            return flag;
        }

    </script>

  • 函数的两种声明方式

        1. 利用函数关键字自定义函数(命名函数)

        function fn(){    

        }

        2. 函数表达式(匿名函数)

        var 变量名 = function(aru){}; 

    <script>
        // 函数的两种声明方式
        // 1. 利用函数关键字自定义函数(命名函数)
        function fn(){
            
        }
        fn();
        // 2. 函数表达式(匿名函数)
       /*  var 变量名 = function(aru){}; */
        var fun = function(aru){
            console.log('我是函数表达式');
        }
        fun('pink');
        // (1) fun是变量名 不是函数名
        //  (2) 函数表达式声明方式跟声明变量差不多,
        //   (2.1)变量里面存的是值  而函数表达式存的是函数
        //  (3) 函数表达式也可以进行传递参数
    </script>

手把手教你修改miniwiggler配置信息,解决UDE连接问题(附FT_PROG工具下载) 本文详细介绍了如何使用FT_PROG工具修改miniwiggler配置信息,解决UDE连接问题。通过分析FT2232芯片的EEPROM结构,提供从驱动安装到配置烧写的完整流程,帮助开发者实现无缝连接英飞凌TriBoard开发板。文章还包含常见错误解决方案和高级批量配置技巧。 阅读详情

相关推荐

深入解析FPGA中的GTX高速收发器架构与设计原理

本文深入解析了FPGA中GTX高速收发器的核心架构与设计原理。文章将GTX比作数据“高速公路”,详细拆解了其PMA(物理媒介适配层)与PCS(物理编码子层)的双层结构,阐述了串并转换、时钟恢复等关键技术,并提供了时钟源选型(QPLL/CPLL)、上电复位流程及信号完整性调试等实战指南,是掌握高速接口设计的必备知识。

f6g7h8i9j的博客 222

Js函数案例:用户输入年份,输出当年二月份天数

【代码】Js函数案例:用户输入年份,输出当年二月份天数。

zhaojinshui的博客 1195

【Python】SimpleITK使用笔记

1. 概念 1.1 nii格式 1.2 SimpleITK 1.3 SimpleITK 图像 2. 基本操作 2.1 常见属性 2.1 读取和保存图像 2.2 SimpleITK图像数据和Numpy矩阵数据之间的转换

See_Star的博客 7900

js中的函数 利用函数求数组最大值 判断闰年 计算2月份天数

1.什么是函数 在编写代码时,可能会出现非常多的相同代码,或者功能类似的代码,这些代码可能需要大量重复使用,此时就可以使用JavaScript中的函数。

m0_61700036的博客 1994

ArcGIS Pro实战:用时空立方体分析共享单车轨迹数据(含3D可视化技巧)

本文详细介绍了在ArcGIS Pro中利用时空立方体技术分析共享单车轨迹数据的全流程。从数据预处理、构建时空立方体,到执行新兴时空热点分析,并最终实现动态3D可视化,手把手教你挖掘城市骑行活动的时空规律。文章重点解析了工具参数设置、常见报错解决方案,并提供了可复用的Python脚本,助力城市规划与交通研究者高效完成时空模式挖掘。

weixin_28323057的博客 138

【系统架构设计师-2026上半年真题】综合知识-参考答案及详解(75题完全回忆版)

【系统架构设计师-2026上半年真题】综合知识-参考答案及详解(75题完全回忆版)

数据知道的博客 3117

javascript输出二月份的天数

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title&...

liuyang___的博客 1589

ESP32-C3入门教程 环境篇②——Windows开发环境准备

文章目录一、注意事项二、下载ESP-IDF工具安装器三、安装内容四、详细安装步骤报错处理 一、注意事项 请注意 ESP-IDF 和 ESP-IDF 工具的安装路径不能超过 90 个字符,安装路径过长可能会导致构建失败。 Python 或 ESP-IDF 的安装路径中一定不能包含空格或括号。 除非操作系统配置为支持 Unicode UTF-8,否则 Python 或 ESP-IDF 的安装路径中也不能包括特殊字符(非 ASCII 码字符、中文字符) 二、下载ESP-IDF工具安装器 ESP-IDF Win

5247

JavaScript使用函数的调用使用户输入年份,可以输出当前年份2月份的天数

用户输入年份,输出当前年份2月份的天数。使用函数调用 如果是闰年,则2月份是29天,如果是平年,则2月份是28天

hgx455的博客 5096

华为OD机试真题2025双机位C卷 C++ 实现【卡牌游戏】

小明正在尝试一种新的牌游戏。游戏规则只如下:首先,小明拿到一张写有数字m的牌。 然后,他会拿到另外n张牌,上面分别写有不同的数字,牌排成一排。小明的目标是从这排牌中找到一串连续的牌,这些牌上数字的总和可以被 m整除。你的任务是判断小明是否可以完成这个目标。

MISAYAONE的博客 283

高创伺服的龙门调试经历2

摘要:本文介绍了高创伺服在龙门控制中的配置方法。首先通过ServoStudio2连接驱动器并命名区分主从轴(MASTER/DIFF),然后设置接口模式、23位编码器参数及极限位置。重点说明龙门模式的三项关键参数设置(gantryfbenmode=1、gantrymode=1/2)和连线状态确认。建议单轴自动整定后调整从轴增益(如0.2),并强调带刹车电机的同步控制要点:刹车线需接同一继电器由主轴控制,避免位置偏差。

wzz418550729的博客 917

JavaScript-96:输出年份的2月份天数

用户输入年份 输出当前年份2月份的天数 // 用户输入年份 输出当前年份2月份的天数 function backDay () { var year = prompt('请输入年份:'); if (isRunYear(year)) { alert('您输入的是闰年 有29天'); } else { alert('您输入的是平年 有28天'); } } backDay(); // 判断是不是为闰年的函数 function isRunYear (year) { // 如果.

臧小川的博客 1248

ADAS工作原理解析:如何通过智能技术提升驾驶安全

ADAS通过集成传感器、摄像头、雷达、SoC计算单元以及高效的数据融合技术,提供了一系列主动和被动安全功能,如自动刹车、车道保持、自适应巡航控制等。这些功能共同作用,不仅减少了交通事故的发生,还大幅提升了驾驶员的驾驶体验和安全性。随着技术的进步,ADAS的功能将越来越智能,最终迈向全自动驾驶的未来🚗💨。

weixin_43199439的博客 1150

【JavaScript的ES6语法】8、generator函数基础

上一篇我们学习完Promise之后,本篇我们来学习generator函数。 generator是ES6引入的一个新的函数,动词“generate”的意思是“生成”,那么名词“generator”的意思就是“生成器”。 它是用来干什么的呢?通过其字面意思我们应该可以猜到,它是可以生成很多东西的函数,是这样吗? 一、generator函数介绍和使用 generator函数在ES6中和其他函数的最大不同就是,普通的函数一旦调用后就会执行到底,而generator函数可以控制在中间停止运行,等待新指令放行后继续

程序猿之洞 893

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

javascript基础:1.JS的历史2.JS书写位置3.JS语法4.JS注释5.JS中常用的输出函数6.document.write7.变量8. 布尔类型9.字符串类型10.数值类型

JavaScript的历史 1994年 , 网景 公司推出了第一款 真正意义上的 浏览器 1995年 , sun 公司推出了Java 1995年 , 网景公司 , sun公司 和网景公司的员工 布兰登 · 艾克 一起开发了 JavaScript JavaScript是什么 轻量级 弱类型 脚本语言 JavaScript 的作用 实现页面的交互 : 用户操作的交互 , 数据的交互 JavaScript

Allen的博客 232

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

JavaScript入门基础学习总结

一 JavaScript 简介 1 JavaScript基本介绍 1 JavaScript 简称JS,是一种动态的弱类型脚本解释型语言,和HTML,CSS并成为三大WEB核心技术,得到了几乎所有主流浏览器的支持 2 JavaScript 历史 1994年,网景Netscape公司成立并发布了Netscape navigator浏览器,占据了很大的时长份额,网景意识到WEB需要动态,需要一种技...

在线学习web前端开发教程 240

贝叶斯统计 [韦来生编]

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

JavaScript 从入门到精通:完整语法指南

本文是一篇全面的JavaScript语法教程,涵盖从基础到高级的核心概念。主要内容包括:JavaScript简介、变量声明方式(var/let/const)、8种数据类型(基本类型和引用类型)、类型转换与检查方法。教程采用"示例代码+详细解释"的形式,特别适合初学者系统学习。重点讲解了ES6+新特性如模板字符串、Symbol和BigInt类型,并强调现代JS开发应优先使用let/const而非var。每个知识点都配有实用代码片段,帮助读者快速掌握JavaScript编程基础。

Aric_Jones的博客 954

LX Music Desktop终极指南:免费开源跨平台音乐播放器的完整使用教程

你是否厌倦了各大音乐平台的会员限制?是否希望在Windows、macOS和Linux上都能享受免费的音乐体验?今天我要为你介绍一款完全免费、功能强大的开源音乐播放器——LX Music Desktop。这款基于Electron和Vue 3开发的跨平台软件,不仅支持多音乐源聚合搜索,还提供了桌面歌词、个性化主题、数据同步等专业功能,让你彻底告别音乐平台的付费束缚。 ## 从痛点出发:为什么你需要L

gitblog_00575的博客 766

JS基础学习

JS中有3种输出语句:1. 变量JS中主要通过 关键字来声明变量的。JS是一门弱类型语言,变量是可以存放不同类型的值的常量 2. 常量在JS中,如果声明一个场景,需要使用关键字。一旦声明,常量的值就不能改变 (不可以重新赋值)3. 数据类型 4. 函数函数(function)是被设计用来执行特定任务的代码块,方便程序的封装复用。匿名函数:是指一种没有名称的函数,由于它们没有名称,因此无法直接通过函数名来调用,而是通过变量或表达式来调用。匿名函数定义可以通过两种方式:函数表达式 和 箭

qq_55981938的博客 1562

MIT实习前置培训笔记3---ES6标准下的JavaScript语法基础(含语法demo的验证结果)

ES6++标准下的JavaScript语法基础(含语法demo的验证结果)

qq_64026421的博客 517

web前端JS—基本语法

Web 前端 JS 核心语法速成指南(2026 精简版) 摘要:本文提炼 JavaScript 最实用的 10 大语法要点,包含现代 ES6+ 特性: 变量声明:优先使用 let/const,const 可修改对象内部属性 8 种数据类型:注意 typeof null 返回 "object" 的历史遗留问题 模板字符串:支持多行文本和变量插值(${name}) 运算符技巧:短路逻辑(||/&&)、空值合并(??)和可选链(?.) 循环优化:推荐 for...of 遍历数组

m0_57545130的博客 436

JavaScript基础语法详解

函数是一段可以重复使用的代码块。在 JavaScript 中,可以使用functionJavaScript 是一种功能强大的语言,它通过基础语法提供了丰富的功能,使得网页能够实现动态交互和复杂的逻辑处理。掌握这些基础语法是学习 JavaScript 的第一步,也是成为一名优秀前端开发者的基础。版权声明:本博客内容为原创,转载请保留原文链接及作者信息。参考文章JavaScript语法基础(超详细,看这一篇就够了)-优快云博客清华大学出版社-图书详情-《JavaScript 基础语法详解》

ning的博客 2366

JavaScript基础语法入门

介绍JavaScript的基础语法, 包含变量, 运算符, 数据类型, 数组, 函数,对象等内容, 主要是基于Java/C基础进行的扫盲学习.

trong_ 的烂笔头 3975

JavaScript基础语法及函数

书写语法会了,变量是一门编程语言比不可少的,所以接下来我们需要学习js中变量的声明,在js中,变量的声明和java中还是不同的。html完成了架子,css做了美化,但是网页是死的,我们需要给他注入灵魂,所以接下来我们需要学习JavaScript,这门语言会让我们的页面能够和用户进行交互。提供资料进行效果演示,通过浏览器打开,我们点击主题5按钮,页面的主题发生了变化,所以js可以让我们的页面更加的智能,让页面和用户进行交互。同样,js代码也是书写在html中的,那么html中如何引入js代码呢?

actavy的博客 1391

JavaScript语法基础

JavaScript语法基础,详细教程

2301_80208072的博客 8317

JavaScript基础语法整理

JavaScript基础语法整理特征注意:JavaScript的组成JavaScript的引入方式内部脚本外部引入JavaScript规范化的标签放置位置JavaScript语法及其规则注释变量基本数据类型JavaScript和JAVA的区别typedef---获取当前变量的类型引用数据类型运算符比较运算符逻辑等和全等运算符逻辑运算符正则对象RegExp对象的创建方式test方法正则对象使用注意事项JS数组对象JS数组的特性JS数组的四种创建方式JS数组的常用属性和方法全局函数执行函数编码和解码URL 和

m0_53157173的博客 3329
上一篇: JavaScript基础语法7-数组
下一篇: JavaScript基础语法9-作用域
BUG_devil
博客等级 码龄5年 45粉丝 29原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值