JS

JavaScript

  • HTML:搭建页面的结构的内容
  • CSS用于美化页面
  • JavaScript给页面添加动态效果和内容的

  • 历史:1995年由网景公司发布LiveScript同年更名为JavaScript,简称JS

JS的特点

  • JS属于脚本语言,不需要编译,由浏览器解析执行
  • JS可以嵌入到HTML代码中
  • JS基于面向对象,属于弱类型语言

JS的优点

  • 交互性:可以直接和用户进行交互
  • 安全性:JS语言只能访问浏览器内部的数据不能访问浏览器之外的内容(电脑磁盘中的各种数据)

如何引入JS代码

  1. 在元素的事件中书写JS代码

    <input type="button" value="点我吧!!!!" onclick="alert('try and try')">    
    
  2. 通过script标签引入

    <script type="text/javascript">
        alert("第二种引入方式--通过script标签引入");
    </script>
    
  3. 把JS事件单独写在JS文件中,通过script标签中的src属性,引入JS文件

    <script type="text/javascript" src="first.js"></script>
    

JS的数据类型

  • 数值类型(number)
  • 字符串类型(string)
  • 布尔值类型(boolean)
  • undefined(未定义类型)--只声明不赋值
  • 对象类型(object)

变量的声明及赋值

  • 由于JS语言属于弱类型语言,声明变量时不需要指定类型(在浏览器中进行测试)

    var x = 18;
    var name="小明";
    var isBoolean=true; 
    x = "abc";
    var m;(只声明不定义,,则该类型为undefined,值也为undefined)
    

数值类型

  • JS语言中底层都是浮点型,在使用过程中会自动转换整数或者小数

    int x = 5 / 2 ; //x=2 (java)
    var x = 5 / 2 ;//x = 2.5(javascript)  4/2=2(自动转换为整数)  5.0/2=2.5
    
  • NaN:not a number用来判断某个变量是不是一个数,通过isNaN()函数进行判断

    var age = 18;
    var name="xiaohu";
    isNaN(age);//false
    isNaN(name);//true
    

字符串类型

  • 通过单引号或者双引号修饰字符串

    var s1 = "abd"; var s2 = 'absd';

布尔值类型

var b1 = true;
var b2 = false; 

数据类型转换

var z = "abc" + 18;(18转换成字符串,隐式转换)//abc18
var z = "100" - 18;(字符串转数字)//82
    • - * % :只有+会把数字转字符串

    z = "abc" - 10;//NaN,"abc"转不了数字 任何数字和NaN进行运算,结果都是NaN

数值类型

  1. 转字符串:直接转:18->"18"
  2. 转布尔值:0和NaN转为false,其他为true

    if(10){
        alert("aa");//弹窗显示
    }
    if(0){
        alert("aa");//不显示
    }
    

在if中,如果不是布尔类型,则会自动转化为布尔类型

字符串类型

1.转数值:能转直接转,不能转转换为NaN "100"->100 "ad"-->NaN 2.转布尔值:空字符("")串转成flase,其他转成true, ""->false "ads"->true

布尔值使用Number转换

1.转数值:true->1 false->0 20 + true -> 21 2.转字符串:true->"true" false->"false" "abc" + false -> "abcfalse"

undefined

  1. 转数值:undefined->NaN
  2. 转字符串:undefined -> "undefined"
  3. 转布尔值:undefined->false

null 是对象类型的值

  1. 转数值:null-> 0
  2. 转字符串:null->"null"
  3. 转布尔值:null->false

JS的运算符

  • 和Java中的运算符基本相同

  • ==和===:

    ==:先将等号两边的变量类型统一,统一完后再比较内容  "66" == 66 //true
    
    ===:会先比较类型是否相同,类型相同后再比较内容 "66" === 66 //false
    
  • 两数相除会自动转换小数和整数

    5 / 2 = 2.5; 4 / 2 = 2;
    
  • type of:

    typeof 18;//"number"
    typeof "asdf";//"string"
    typeof "";//"string"
    typeof undefined;//"undefined"
    typeof null;//"object"
    typeof true;//"boolean"
    typeof 66 + 6;//"number6"
    typeof (66 + 6);//"number"
    

JS的语句

  • 包括:if else ;while ; do while; for; switch casel;
  • 需要布尔值的地方如果不是布尔值会自动转成布尔值;
  • for循环中把只需要把java中的int i 改成 var i;不支持增强for循环(for each)

JS函数相关

  • 第一种,相对于java而言没有返回值类型,如果需要返回值,直接return

    function 函数名(参数列表){
        return...;
    }
    
    //1.无参无返回
    function fn1() {
        alert("我是无参无返回的函数")
    }
    fn1(); 
    
    //2.无参有返回
    function fn2() {
        return "abc";       
    }
    var s = fn2();
    alert(s);
    
    //3.有参无返回
    function fn3(name){
        alert(name);
    }
    fn3("Mr.Zhou");
    
        //4.有参有返回
        function fn4(i,j) {
            return i + "*" + j + "=" + i * j;       
        }
        var result = fn4(2,7);
        alert(result);
    
  • 第二种

    var 函数名 = function(参数列表) {
    
    }   
    
    
    var fn5 = function(){
        alert("第二种函数声明的方式");
    }
    fn5();
    

页面元素相关的函数

    <body>
        <input type="text" id="myinput">
        <input type="button" value="Try!!!">    
        <div id="d1"></div>
    </body>
  1. 获取页面中的元素对象

    var input = document.getElementById("id");
    
  2. 给文本元素(文本框)赋值和取值的两种方式

    intput.value="abc";//赋值
    var s = input.value;//取值
    
  3. 给元素添加文本内容 =:直接替换 +=:追加 元素对象.innerText = "内容";

    <h1>abc</h1>
    
  4. 给元素添加html代码

    元素对象.innerHTML = "HTML代码";

js中常用的API

string相关

1.创建string的两种方式

var s1 = "abc";
var s2 = new String("abc");

2.转大小写

"avC".toUpperCase();//"AVC"
"avC".toLowerCase();//"avc" 

3.获取某个字符串在另外一个字符串中出现的位置

"java hellow".indexOf("a");//1 ;第一次出现的位置
"java hellow".lastIndexOf("a");//3;最后一次出现的位置

4.截取字符串

str.substring(start,[end]);//end可以省略,只写start截取到最后,写end,截取到end的位置,不包含end
"hello java".substring(0,3);//"hel"
"hello java".substring(3);//"lo java"

4.替换字符串-->并没有把源字符串替换掉,需要接收返回值

"java hello".replace("hello" , "hello world");//"java hello world"

5.拆分字符串

/*此时names就是数组*/
var names = "刘德华,张学友,若曦,赵四".split(",");//["刘德华", "张学友", "若曦", "赵四"]
        0:"刘德华"
        1:"张学友"
        2:"若曦"
        3:"赵四"
        length:4

/*遍历*/
for(var i = 0 ; i  < names.length ; i++){
    var name = names[i];
    alert(name);
}

number相关函数

  • 四舍五入 toFixed(2);//保留两位小数

    var x = 3.1415926; x.toFixed(3);

数组

  1. 创建数组的两种方式

    • var arr1 = ["0","true","刘德华"];
    • var arr2 = new Array("0","true","刘德华");
  2. 数组中添加数据

    • arr2.push("周杰伦")//返回值为添加元素之后的数组长度
  3. 数组长度可变.arr2.length = 2,会删除后面的元素

  4. 数组中获取数据 [数组不会存在数组下标越界.如果没有就是undedined]

  5. 数组反转

    var arr3 = [1,2,3];
    arr3.reverse();
    
  6. 数组排序

    /*默认排序规则,按照字符串的形式进行排序,通过Unicode编码,比较第一个字符比较完比较第二个依次类推*/
    var arr4 = [4,6,2,6,4,3];
    arr4.sort();//[2, 3, 4, 4, 6, 6]
    var arr5 = [23,15,2,100,30,8];
    arr5.sort();//[100, 15, 2, 23, 30, 8]
    =================================================================
    /*自定义排序规则*/===?为什么要这么设计:如果数组中保存的是对象,如Person对象,可以按照java中的comparator
    var arr = [ 23, 15, 2, 100, 30, 8 ];
    //声明自定义排序函数
    function mysort(a,b){
        //升序
        return a-b;
        //降序
        //return b-a;
    }
    arr.sort(mysort);
    

日期相关(客户端时间,服务器时间===>服务器时间用的更多)

  1. 如何获得客户端时间

    var d1 = new Date();

  2. 指定时间创建时间对象,通常时间来自服务器

    var date = new Date("2018/08/04 18:36:02");

  3. 获取和设置时间戳(距离1970/1/1 8:00:00的毫秒数)

    //获取 date.getTime();//1533378962000 //设置 date.setTime(1000);//Thu Jan 01 1970 08:00:01 GMT+0800 (中国标准时间)

  4. 从Date对象中单独获取年月日时分秒星期几

    var date = new Date();//Fri Aug 31 2018 11:45:38 GMT+0800 (中国标准时间)
    date.getFullYear();//年;2018
    date.getMonth()+1;//月;8
    date.getDate();//日;31
    date.getHours();//时
    date.getMinutes();//分
    date.getSeconds();//秒
    date.getDay();//星期几
    
  5. 从Date中获取年月日 和 获取时分秒

    date.toLocaleDateString();//"2018/8/31"
    date.toLocaleTimeString();//"上午11:49:54"
    

正则

  • 创建正则的两种方式

    1. var reg = /规则/模式;
    2. var reg = new RegExp("规则","模式可省略");
  • 正则相关的函数

    1. reg.exec(str);查找内容,如果模式为g,全局查找,执行依次查询一个,
    2. reg.test(str);校验文本
  • 字符串相关的正则函数

    1. str.match(reg);查找,返回值为一个数组
    2. str.replace(reg,替换的内容);//查找并替换

创建元素对象

var  h = document.createElement("h1");
document.body.appendChild(h);

js中的自定义对象

  • 两种声明对象的方法

  • 第一种方式

    //1:有参
    function Person(name , age){
        this.name = name;
        this.age = age;
        this.run = function(){
            alert("name:" + this.name + ",age:" + this.age);
        }
    }
    //创建对象
    var p = new Person("黄志宏",23);
    //调用对象的方法
    p.run();
    
    
    //2.无参--创建一个空的Person
    function Person(){}
    //创建Person对象
    var p = new Person();
    //后续给对象添加属性和方法
    p.name = "刘备";
    p.age = 28;
    p.run = function(){
        alert("name:" + this.name + ",age:" + this.age);
    }
    
    //调用方法
    p.run();
    
  • 第二种声明对象的方式

    /*第二种方式*/
    var student = {
            "name": "曹操",
            "age":23,
            "run":function(){
                alert("name:" + this.name + ",age:" + this.age);
            }
    }
    //调用的方式
    student.run();
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
东南亚位于我国倡导推进的“一带一路”海陆交汇地带,作为当今全球发展最为迅速的地区之一,近年来区域内生产总值实现了显著且稳定的增长。根据东盟主要经济体公布的最新数据,印度尼西亚2023年国内生产总值(GDP)增长5.05%;越南2023年经济增长5.05%;马来西亚2023年经济增速为3.7%;泰国2023年经济增长1.9%;新加坡2023年经济增长1.1%;柬埔寨2023年经济增速预计为5.6%。 东盟国家在“一带一路”沿线国家中的总体GDP经济规模、贸易总额与国外直接投资均为最大,因此有着举足轻重的地位和作用。当前,东盟与中国已互相成为双方最大的交易伙伴。中国-东盟贸易总额已从2013年的443亿元增长至 2023年合计超逾6.4万亿元,占中国外贸总值的15.4%。在过去20余年中,东盟国家不断在全球多变的格局里面临挑战并寻求机遇。2023东盟国家主要经济体受到国内消费、国外投资、货币政策、旅游业复苏、和大宗商品出口价企稳等方面的提振,经济显现出稳步增长态势和强韧性的潜能。 本调研报告旨在深度挖掘东南亚市场的增长潜力与发展机会,分析东南亚市场竞争态势、销售模式、客户偏好、整体市场营商环境,为国内企业出海开展业务提供客观参考意见。 本文核心内容: 市场空间:全球行业市场空间、东南亚市场发展空间。 竞争态势:全球份额,东南亚市场企业份额。 销售模式:东南亚市场销售模式、本地代理商 客户情况:东南亚本地客户及偏好分析 营商环境:东南亚营商环境分析 本文纳入的企业包括国外及印尼本土企业,以及相关上下游企业等,部分名单 QYResearch是全球知名的大型咨询公司,行业涵盖各高科技行业产业链细分市场,横跨如半导体产业链(半导体设备及零部件、半导体材料、集成电路、制造、封测、分立器件、传感器、光电器件)、光伏产业链(设备、硅料/硅片、电池片、组件、辅料支架、逆变器、电站终端)、新能源汽车产业链(动力电池及材料、电驱电控、汽车半导体/电子、整车、充电桩)、通信产业链(通信系统设备、终端设备、电子元器件、射频前端、光模块、4G/5G/6G、宽带、IoT、数字经济、AI)、先进材料产业链(金属材料、高分子材料、陶瓷材料、纳米材料等)、机械制造产业链(数控机床、工程机械、电气机械、3C自动化、工业机器人、激光、工控、无人机)、食品药品、医疗器械、农业等。邮箱:market@qyresearch.com
完整版:https://download.csdn.net/download/qq_27595745/89522468 【课程大纲】 1-1 什么是java 1-2 认识java语言 1-3 java平台的体系结构 1-4 java SE环境安装和配置 2-1 java程序简介 2-2 计算机中的程序 2-3 java程序 2-4 java类库组织结构和文档 2-5 java虚拟机简介 2-6 java的垃圾回收器 2-7 java上机练习 3-1 java语言基础入门 3-2 数据的分类 3-3 标识符、关键字和常量 3-4 运算符 3-5 表达式 3-6 顺序结构和选择结构 3-7 循环语句 3-8 跳转语句 3-9 MyEclipse工具介绍 3-10 java基础知识章节练习 4-1 一维数组 4-2 数组应用 4-3 多维数组 4-4 排序算法 4-5 增强for循环 4-6 数组和排序算法章节练习 5-0 抽象和封装 5-1 面向过程的设计思想 5-2 面向对象的设计思想 5-3 抽象 5-4 封装 5-5 属性 5-6 方法的定义 5-7 this关键字 5-8 javaBean 5-9 包 package 5-10 抽象和封装章节练习 6-0 继承和多态 6-1 继承 6-2 object类 6-3 多态 6-4 访问修饰符 6-5 static修饰符 6-6 final修饰符 6-7 abstract修饰符 6-8 接口 6-9 继承和多态 章节练习 7-1 面向对象的分析与设计简介 7-2 对象模型建立 7-3 类之间的关系 7-4 软件的可维护与复用设计原则 7-5 面向对象的设计与分析 章节练习 8-1 内部类与包装器 8-2 对象包装器 8-3 装箱和拆箱 8-4 练习题 9-1 常用类介绍 9-2 StringBuffer和String Builder类 9-3 Rintime类的使用 9-4 日期类简介 9-5 java程序国际化的实现 9-6 Random类和Math类 9-7 枚举 9-8 练习题 10-1 java异常处理 10-2 认识异常 10-3 使用try和catch捕获异常 10-4 使用throw和throws引发异常 10-5 finally关键字 10-6 getMessage和printStackTrace方法 10-7 异常分类 10-8 自定义异常类 10-9 练习题 11-1 Java集合框架和泛型机制 11-2 Collection接口 11-3 Set接口实现类 11-4 List接口实现类 11-5 Map接口 11-6 Collections类 11-7 泛型概述 11-8 练习题 12-1 多线程 12-2 线程的生命周期 12-3 线程的调度和优先级 12-4 线程的同步 12-5 集合类的同步问题 12-6 用Timer类调度任务 12-7 练习题 13-1 Java IO 13-2 Java IO原理 13-3 流类的结构 13-4 文件流 13-5 缓冲流 13-6 转换流 13-7 数据流 13-8 打印流 13-9 对象流 13-10 随机存取文件流 13-11 zip文件流 13-12 练习题 14-1 图形用户界面设计 14-2 事件处理机制 14-3 AWT常用组件 14-4 swing简介 14-5 可视化开发swing组件 14-6 声音的播放和处理 14-7 2D图形的绘制 14-8 练习题 15-1 反射 15-2 使用Java反射机制 15-3 反射与动态代理 15-4 练习题 16-1 Java标注 16-2 JDK内置的基本标注类型 16-3 自定义标注类型 16-4 对标注进行标注 16-5 利用反射获取标注信息 16-6 练习题 17-1 顶目实战1-单机版五子棋游戏 17-2 总体设计 17-3 代码实现 17-4 程序的运行与发布 17-5 手动生成可执行JAR文件 17-6 练习题 18-1 Java数据库编程 18-2 JDBC类和接口 18-3 JDBC操作SQL 18-4 JDBC基本示例 18-5 JDBC应用示例 18-6 练习题 19-1 。。。
完整版:https://download.csdn.net/download/qq_27595745/89522468 【课程大纲】 1-1 什么是java 1-2 认识java语言 1-3 java平台的体系结构 1-4 java SE环境安装和配置 2-1 java程序简介 2-2 计算机中的程序 2-3 java程序 2-4 java类库组织结构和文档 2-5 java虚拟机简介 2-6 java的垃圾回收器 2-7 java上机练习 3-1 java语言基础入门 3-2 数据的分类 3-3 标识符、关键字和常量 3-4 运算符 3-5 表达式 3-6 顺序结构和选择结构 3-7 循环语句 3-8 跳转语句 3-9 MyEclipse工具介绍 3-10 java基础知识章节练习 4-1 一维数组 4-2 数组应用 4-3 多维数组 4-4 排序算法 4-5 增强for循环 4-6 数组和排序算法章节练习 5-0 抽象和封装 5-1 面向过程的设计思想 5-2 面向对象的设计思想 5-3 抽象 5-4 封装 5-5 属性 5-6 方法的定义 5-7 this关键字 5-8 javaBean 5-9 包 package 5-10 抽象和封装章节练习 6-0 继承和多态 6-1 继承 6-2 object类 6-3 多态 6-4 访问修饰符 6-5 static修饰符 6-6 final修饰符 6-7 abstract修饰符 6-8 接口 6-9 继承和多态 章节练习 7-1 面向对象的分析与设计简介 7-2 对象模型建立 7-3 类之间的关系 7-4 软件的可维护与复用设计原则 7-5 面向对象的设计与分析 章节练习 8-1 内部类与包装器 8-2 对象包装器 8-3 装箱和拆箱 8-4 练习题 9-1 常用类介绍 9-2 StringBuffer和String Builder类 9-3 Rintime类的使用 9-4 日期类简介 9-5 java程序国际化的实现 9-6 Random类和Math类 9-7 枚举 9-8 练习题 10-1 java异常处理 10-2 认识异常 10-3 使用try和catch捕获异常 10-4 使用throw和throws引发异常 10-5 finally关键字 10-6 getMessage和printStackTrace方法 10-7 异常分类 10-8 自定义异常类 10-9 练习题 11-1 Java集合框架和泛型机制 11-2 Collection接口 11-3 Set接口实现类 11-4 List接口实现类 11-5 Map接口 11-6 Collections类 11-7 泛型概述 11-8 练习题 12-1 多线程 12-2 线程的生命周期 12-3 线程的调度和优先级 12-4 线程的同步 12-5 集合类的同步问题 12-6 用Timer类调度任务 12-7 练习题 13-1 Java IO 13-2 Java IO原理 13-3 流类的结构 13-4 文件流 13-5 缓冲流 13-6 转换流 13-7 数据流 13-8 打印流 13-9 对象流 13-10 随机存取文件流 13-11 zip文件流 13-12 练习题 14-1 图形用户界面设计 14-2 事件处理机制 14-3 AWT常用组件 14-4 swing简介 14-5 可视化开发swing组件 14-6 声音的播放和处理 14-7 2D图形的绘制 14-8 练习题 15-1 反射 15-2 使用Java反射机制 15-3 反射与动态代理 15-4 练习题 16-1 Java标注 16-2 JDK内置的基本标注类型 16-3 自定义标注类型 16-4 对标注进行标注 16-5 利用反射获取标注信息 16-6 练习题 17-1 顶目实战1-单机版五子棋游戏 17-2 总体设计 17-3 代码实现 17-4 程序的运行与发布 17-5 手动生成可执行JAR文件 17-6 练习题 18-1 Java数据库编程 18-2 JDBC类和接口 18-3 JDBC操作SQL 18-4 JDBC基本示例 18-5 JDBC应用示例 18-6 练习题 19-1 。。。
完整版:https://download.csdn.net/download/qq_27595745/89522468 【课程大纲】 1-1 什么是java 1-2 认识java语言 1-3 java平台的体系结构 1-4 java SE环境安装和配置 2-1 java程序简介 2-2 计算机中的程序 2-3 java程序 2-4 java类库组织结构和文档 2-5 java虚拟机简介 2-6 java的垃圾回收器 2-7 java上机练习 3-1 java语言基础入门 3-2 数据的分类 3-3 标识符、关键字和常量 3-4 运算符 3-5 表达式 3-6 顺序结构和选择结构 3-7 循环语句 3-8 跳转语句 3-9 MyEclipse工具介绍 3-10 java基础知识章节练习 4-1 一维数组 4-2 数组应用 4-3 多维数组 4-4 排序算法 4-5 增强for循环 4-6 数组和排序算法章节练习 5-0 抽象和封装 5-1 面向过程的设计思想 5-2 面向对象的设计思想 5-3 抽象 5-4 封装 5-5 属性 5-6 方法的定义 5-7 this关键字 5-8 javaBean 5-9 包 package 5-10 抽象和封装章节练习 6-0 继承和多态 6-1 继承 6-2 object类 6-3 多态 6-4 访问修饰符 6-5 static修饰符 6-6 final修饰符 6-7 abstract修饰符 6-8 接口 6-9 继承和多态 章节练习 7-1 面向对象的分析与设计简介 7-2 对象模型建立 7-3 类之间的关系 7-4 软件的可维护与复用设计原则 7-5 面向对象的设计与分析 章节练习 8-1 内部类与包装器 8-2 对象包装器 8-3 装箱和拆箱 8-4 练习题 9-1 常用类介绍 9-2 StringBuffer和String Builder类 9-3 Rintime类的使用 9-4 日期类简介 9-5 java程序国际化的实现 9-6 Random类和Math类 9-7 枚举 9-8 练习题 10-1 java异常处理 10-2 认识异常 10-3 使用try和catch捕获异常 10-4 使用throw和throws引发异常 10-5 finally关键字 10-6 getMessage和printStackTrace方法 10-7 异常分类 10-8 自定义异常类 10-9 练习题 11-1 Java集合框架和泛型机制 11-2 Collection接口 11-3 Set接口实现类 11-4 List接口实现类 11-5 Map接口 11-6 Collections类 11-7 泛型概述 11-8 练习题 12-1 多线程 12-2 线程的生命周期 12-3 线程的调度和优先级 12-4 线程的同步 12-5 集合类的同步问题 12-6 用Timer类调度任务 12-7 练习题 13-1 Java IO 13-2 Java IO原理 13-3 流类的结构 13-4 文件流 13-5 缓冲流 13-6 转换流 13-7 数据流 13-8 打印流 13-9 对象流 13-10 随机存取文件流 13-11 zip文件流 13-12 练习题 14-1 图形用户界面设计 14-2 事件处理机制 14-3 AWT常用组件 14-4 swing简介 14-5 可视化开发swing组件 14-6 声音的播放和处理 14-7 2D图形的绘制 14-8 练习题 15-1 反射 15-2 使用Java反射机制 15-3 反射与动态代理 15-4 练习题 16-1 Java标注 16-2 JDK内置的基本标注类型 16-3 自定义标注类型 16-4 对标注进行标注 16-5 利用反射获取标注信息 16-6 练习题 17-1 顶目实战1-单机版五子棋游戏 17-2 总体设计 17-3 代码实现 17-4 程序的运行与发布 17-5 手动生成可执行JAR文件 17-6 练习题 18-1 Java数据库编程 18-2 JDBC类和接口 18-3 JDBC操作SQL 18-4 JDBC基本示例 18-5 JDBC应用示例 18-6 练习题 19-1 。。。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值