澳门网络娱乐游戏平台-澳门电子游戏娱乐网址-官方直营

【澳门可靠投注平台】JS根基第一节

  1. Object类型

一、数组

数组是一个平稳列表,所以有下标.

相同的时候数组在js中得以存在任性等级次序的数据.並且同贰个数组中能够寄存分歧的类型.

得到数组体积能够用length.

  成立对象的方法

1.开立数组

行使Array数组对象来创建数组

概念三个空数组

var    arr1=newArray();

概念二个数组length是20,何况每一个元素都以未定义

var    arr2=newArray(20);

几个值代表数组内部因素,而地点的这种写法多个值代表容积

var  arr3=newArray(1,2,3);

选取字面量(语法糖,笑笑语法),来制造数组

var   arr5=[];

var   arr6=[1,2,3,4];

在选择字面量创造数组时,三个值不再代表容积,代表正是四个值。不一致于用Array对象创制的数组。

var   arr7=[20];

怎么使用数组:

做客数组成分 语法格式:数组名[澳门可靠投注平台,下标]

下标从0初阶数,到数组容积减去1。分歧意越界访谈

在不计其数运用中,不管是遍历数组仍是数组赋值,都离不开for循环。

var   arr2=[];//创制叁个空数组

for(var   i=0; i<20; i++卡塔尔 {//循环赋值

arr2[i]=parseInt(Math.random()*(40-20+1)+20)}

  1) 结构函数格局   var obj = new Object(卡塔尔(قطر‎;   // Object为构造函数

2.Math数学对象

Math对象, 针对于数字。

Math随机函数:Math.random() [0,1卡塔尔之间的浮点数

假使想获取[a,b]的恣意整数

var   randomNum = parseInt(Math.random() * (b - a + 1卡塔尔国 + a卡塔尔;   //倘若不加1,就不能收获到最大值

取最大值

var   a=Math.max(1,5,7);

取最小值

var   a=Math.min(1,5,7);

腾飞取整

var   num1=Math.ceil(1.1);

向下取整

var   num2=Math.floor(1.1);

四舍五入

var   num3=Math.round(2.5);

绝对值

var    num4=Math.abs(-6);

次方

var    num5=Math.pow(5,2卡塔尔(قطر‎;//第叁个数是底数第4个数是幂

//平方根,开平方

var    num6=Math.sqrt(4);

  2)字面量情势  var obj = {}

3.数组排序

冒泡排序,双层for循环

原理:冒泡排序名称的缘来是依靠气泡排序的法规,通过风姿洒脱趟趟的可比,每风流倜傥趟可以拿走当前趟的最大值

正如相邻三个值的轻重关系,假使前方的大于后边的,调交换一下地方置

外层循环调整比较的趟数,内层循环调节每生龙活虎趟比较的次数

//定义四个数组

var  arr=[ ];

for(var    i=0;i<5;i++卡塔尔国 {//随机发生叁个数组

arr[i]=parseInt(Math.random()*(40-20+1)+20);

}

//从小到大排序,大的在后头,小的在头里(升序卡塔尔(英语:State of Qatar)

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;

}

}

}

console.log(arr);

  1. Array类型

4.数组对象

var   arr=[1,2,3,4,5];

    ECMAscript数组的每大器晚成项可以保留任何项目标多寡

在后面部分添欧成分,push(卡塔尔国,重回值为增加的成分之后的数组容积,不管有未有收到重临值,都将成分增加到数组里面

var b=arr.push(6,7,8,9,12,18);

  创造数组的办法

在头顶添比索素,unshift(卡塔尔(قطر‎,重返值为增进的要素之后的数组体量,成分的丰裕地点在数组尾部

var count2=arr.unshift(7);

  1)var color = new Array();

除去尾部成分,pop(卡塔尔(قطر‎,二遍只好删三个,再次来到值为除去的要命数,并且数组自个儿最终一个成分也被删去

var   count3=arr.pop();

  假若预先通晓数组要保存的种类数目,能够给布局函数字传送递改多少,该数量会自行形成length属性的值

删除尾部成分,shift(卡塔尔(英语:State of Qatar),二次只可以删三个,重返值为除去的老大数,何况数组自身第八个要素也被删去

var   count4=arr.shift();

  var arr = new Array(20);

从钦赐地方上马删除多少个要素,splice(卡塔尔(英语:State of Qatar),重临值为除去的成分构成的数组,再次来到值是一个数组额!splice不仅能够张开增多删减的操作,又足以拓宽调换的操作。splice增加的成分的个数能够不跟删除的因素的个数相通。

var   count5=arr.splice(1,2);

从下标为1之处删除0个成分,並且新添长的成分从下标为1,重临值未有任何意义,是三个空数组

var  count6=arr.splice(1,0,8,9);

  也得以向布局函数中传送数组中应当包含的项

数组排序方法,sort(卡塔尔国: 方法能达成数组的排序(依照ASCII表的黄金时代一排序卡塔尔国,依照ASCII表的各样排序,只可以挨个数字可能字母比较,所以特别。能够用函数达成对数组的升序和降序。sort(卡塔尔国重临值是一个排序之后的数组。

var  arr=[12,8,9,5,3,28];

var   d=arr.sort();

 //console.log(arr.sort())

//console.log(d);

  var arr = new Array('xhk', 'coco', 'lover');

//sort里面封装的有咬定语句

  若是给布局函数字传送递多少个值

function   sort1(a,b){

澳门官方游戏平台网址,  那些值是数字, 创设满含给定项数的数组,

return    a-b;

  那个值是其余品类参数,创立包蕴这些值独有一项的数组

}

console.log(arr.sort(sort1))

  使用Array布局函数的时候能够简简单单new操作符

数组的拼凑,concat(卡塔尔国: 方法能够兑现五个数组的拼接

var newArr=arr.concat(7,12,19);

var   newArr2=arr.concat(arr2);

  var arr = Array(3);

数组成分之间增加分隔符,join(卡塔尔(英语:State of Qatar),将数组分割成字符串

var   arr=[12,8,9];

var    str=arr.join("&");

console.log(str);

  2卡塔尔(قطر‎ 数组字面量 var arr = [];

5.二维数组

二维数组衰亡行、列难点,二维数组有行,列概念,二维数组有双下标概念,数组成分是数组

var    var2D=[

[1,2,3],

[4,5,6],

[7,8,9]

];


  检测数组

二、字符串

  instanceof Array

1.开立字符串

空字符串

var   str= newString();

开创二个hello world

var   str= newString("hello world !");

String(卡塔尔将数字转变为字符串

var    str=String(10);

toString(卡塔尔(قطر‎将数字转变为字符串

var   a=20;

var    str1=a.toString();

  栈方法(后进先出)

2.字符串的操作

  push(卡塔尔: 选用猖狂数量的参数,把他们相继增加到数组末尾,并回到更改后的数组的长短。

charAt(卡塔尔(قطر‎:重返字符串的某壹人;参数字传送的值是单个值,数字和字符串都得以

var  str="hello world";

console.log(str.charAt(6));//w

console.log(str.charAt('6'));//w

  pop(卡塔尔(英语:State of Qatar): 从数组末尾移除最毕生机勃勃项,减弱数组的长度,并重回被移除的项。

search: 查找,重返的是岗位,若是找不到再次回到的是-1。得到的是传播的字符串 在原先的字符串的职责,search传入的都是切合正则验证的字符串

  队列方法(先进先出)

indexOf也是搜索,能够流传任何类型的字符串

var   str="松江区.泗泾镇.九干路丽德创业集散地";

console.log(str.search("泗泾镇"));        //4

console.log(str.indexOf("泗泾镇"));       //4

console.log(str.search("."));                  //0

console.log(str.indexOf("."));                //3

  队列在列表的前面加多项,从列表的前端移除项。

字符串的截取:slice方法,传入多个参数,八个代表start,八个代表end。从start地点上马截取,截取到end地方此前的最后壹个字符。截抽出来的字符串长度为end-start。要是参数为负数,则将负数加上字符串长度,调换到整数之后再扩充截取。借使负数的相对值超过字符串的尺寸,start依据0算。假若start大于end将回来空字符串。

var   str="hello world";

console.log(str.slice(1,7));

console.log(str.slice(-7,7));

  shift(卡塔尔(英语:State of Qatar): 从数组前端移除项,并赶回该项。

substring和slice的分别,substring参数要是为负数,间接变为0,然后运算。substring七个参数无需保障前面包车型客车一定小于前面包车型大巴,取两个中型迷你的作为start。

console.log(str.substring(-7,7));

console.log(str.substring(7,4));

  unshift(卡塔尔: 在数组前端增多大六个项并重临新数组的尺寸。

substr第五个参数代表初阶地方,第二个参数代表截取长度。

console.log(str.substr(3,7));

  

substring 和 slice借使给定多少个参数,将从那几个参数开端截取到最后

console.log(str.substring(3));

console.log(str.slice(3));

  重排序方法:reverse(卡塔尔  sort(卡塔尔(英语:State of Qatar)

replace 用第一个参数将第多个参数替换掉

var   str="hello world";

console.log(str.replace("hello","hi"))

  reverse(卡塔尔: 反转数组项的顺序, 再次来到重新排序后的数组。

split(卡塔尔国 方法用于把一个字符串分割成字符串数组,日常和正则一齐用。将字符串依据给定的从头到尾的经过选取分割,拿到一个数组

console.log(str.split(" "));

空字符串整体分叉

console.log(str.split(""));

  sort(卡塔尔国: 暗许按升序排列数组项,小到大,为了落到实处排序sort(卡塔尔(قطر‎方法会调用各样数组项的toString(卡塔尔(قطر‎转型措施,然后比较得到字符串,以明确哪些排序,固然数组中的每大器晚成  项都以数值,sort(卡塔尔(英语:State of Qatar)方法相比的也是字符串。重回重新排序后的数组。

concat()将叁个字符串或几个字符串拼接起来,获得一个新的字符串

+号能够直接拼接,运算符重载

console.log(str.concat("hahaha"));

  var arr = [0, 1, 5, 15, 20];  // [0, 1, 15, 20, 5]

lastIndexOf(卡塔尔(قطر‎再次来到最终二个满意条件的下标

  操作方法

indexOf(卡塔尔国重临的是率先个餍足条件的下标

var     str="hello world hello hello world";

console.log(str.indexOf("hello"));//0

console.log(str.lastIndexOf("hello"));//18


  concat(卡塔尔(قطر‎: 先创造一个当下数组的别本,然后将选用到的参数追加到那几个别本的最终,重返新创设的数组。要是传递给concat(卡塔尔方法的是二个或七个数组,该方法会将这  些数组中的每意气风发项都抬高到结果数组中。原数组不改变。

三、Date(卡塔尔国日期对象

  slice(卡塔尔国: 基于当下数组的一个或几个项创立八个新数组。接纳三个或多个参数,参数意气风发:重返项的胚胎地方;参数二:再次来到项的甘休地方;

1.创设日期对象

var    nowDate= new    Date();

console.log(nowDate卡塔尔国;          //获取的的是现阶段岁月

console.log(typeof(nowDate));     //object

  不会潜移暗化原始数组

2.将日期字符串调换为日期对象

日期对象有两种:

yyy/MM/dd hh:mm:ss

yyy-MM-dd hh:mm:ss,在IE下调换退步

若是字符串yyy/MM/dd里面不给准时期,私下认可时间00:00:00

固然字符串yyy-MM-dd里面不给定时期,私下认可时间为当前时区时间

var       d= new     Date("2016/11/22 11:52:30");

console.log(d);

var       d= new     Date("2016-11-22 11:52:30");

console.log(d);

var       d= new        Date("2016/11/22");

console.log(d);

var       d= new        Date("2016-11-22");

console.log(d);

  如若只有三个参数,则赶回从该参数内定地点到数组末尾的具有项。

3.得以一贯给定值

能够单独给的年月日 时分秒 飞秒,

月份给值是0~11的,0代表1月,11代表12月

小时 0~23

分钟,秒0~59

毫秒0~999

var      d= new      Date(1993,0,30);

console.log(d);

var      newD= new       Date(2017,0,1);

console.log(newD);

  假若七个参数,再次回到发轫和终止地方之间的项, 不含有停止地方的项。

4.get方法

var     d= newDate();

year=d.getFullYear(卡塔尔;//获取4位数的年度

month=d.getMonth(卡塔尔(英语:State of Qatar);//获取月份,从0开头,0意味6月

Date=d.getDate(卡塔尔(قطر‎;//获取月份中的天数,日期

Day=d.getDay(卡塔尔(英语:State of Qatar);//获取是周几,从0开端,0是周日

hour=d.getHours(卡塔尔国;//获取小时

Minutes=d.getMinutes(卡塔尔(قطر‎;//获取分钟

second=d.getSeconds();//获取秒

m=d.getMilliseconds(卡塔尔;//获取皮秒

time=d.getTime(卡塔尔;//获取从一九六三年十二月1日到前日的纳秒数

console.log(year);

console.log(month);

console.log(Date);

console.log(Day);

console.log(hour);

console.log(Minutes);

console.log(second);

console.log(m);

console.log(time);

  若是slice(卡塔尔方法的参数中有三个是负数,则用数董事长度加上该数来规定相应的地方,eg: arr.length = 5; slice(-2, -1卡塔尔(英语:State of Qatar); 实际上应该回到slice(3, 4卡塔尔那生机勃勃段新数组;

5.日期目的的设置方法

通过set方法能够将日期对象中的某贰个值改掉

var   myDate= new      Date();

myDate.setFullYear(2017);

console.log(myDate);

myDate.setMonth(1);

console.log(myDate);

  splice(卡塔尔: 向数组中部插入项。重返包罗从原始数组中去除的项。若无去除任何项,则赶回叁个空数组。

6.日期对象调换为字符串对象的情势

var   myDate= new    Date();

console.log(myDate.toString());

console.log(myDate.toLocaleString())

  1)删除:删除自便数量的项:重返被删去的项;三个参数,参数后生可畏,要删减的第生龙活虎项的职位,参数二,要去除的项数。

7.日期对象的多少个静态方法

高效取安妥明日子和1967.1.1之内 的微秒数

console.log(Date.now());

急忙获得某一个日期与1966.1.1里边 的纳秒数

console.log(Date.parse("2016/11/22 15:23:00"));


  2)插入:钦赐地点插入任性数量的项,参数风华正茂,伊始地点;参数二,0(要刨除的项数);参数三,要插入的项

四、函数

概念:函数正是有一定效率的代码段

分类:函数从概念的角度分,分为库函数和自定义函数

库函数:Math.random()   Array slice()     string substring()   Date    getTime()......

系统提供的函数远远满意不断我们的须要,所以我们供给自定义函数

函数的构造:定义函数的重视字 function,函数名,参数部分(卡塔尔,未有参数(卡塔尔(قطر‎也无法大致,函数主体部分,大括号内部的始末

function    alertHello() {

alert("hello");

}

在函数中,想要定义二个函数,假使什么是不解的,就将什么注明为参数

运用函数,函数的调用,

  3) 替换:向内定地方插入大肆数量的项,且同期删除放肆数量的项。参数生龙活虎,初阶地方;参数二,要删减的项数;参数三,要插入的恣意数量项。

1.自定义函数的归类

自定义函数的分类 从双方面构思:重回值(正是函数的内部再次回到到外边的结果)和 参数

有参有返,参数与参数之间选取逗号隔开分离

function    sum(num1,num2) {

//再次来到外部值,使用首要字return

return     num1+num2;

//return之后的言辞都不会举办

num1++;

num2++;

}

//声澳优(Ausnutria Hyproca卡塔尔个变量选用重临值

var   result=sum(10,20);

console.log(result);

function   sum(num1,num2) {

num1++;

num2++;

return    num1+num2;

}

var   n1=10,n2=20;

var      result=sum(n1, n2);

console.log(result);//32

console.log(n1, n2卡塔尔国;//10      20 //函数调用进度中,只会发出单纯的值传递,形参加会议拷贝实参的值

有参数无重返值

function   printNumber(num卡塔尔(英语:State of Qatar) {//定义函数

console.log(num);

}

printNumber(1卡塔尔国;//函数调用

无参数有重回值

function    getStuCount() {

return   28;

}

var   stuCount=getStuCount();

console.log(stuCount);

无参数无重临值

function     helloWorld(){

alert("hello world");

}

helloWorld();

调用函数中,为了让函数准确实施,尽管未有参数,()也不能够省略

  地方方法

2.函数的作用域

var       a=10;//全局变量

//函数的作用域

function      test() {

var       b=10;//局地变量

alert(a++);

}

test();//10

全局变量必得在调用函数的地点以前,才具被使用。定义在函数内部的变量叫局地变量,生命周期为函数的生命周期,当函数施行完事后就能够被回笼,所以函数外部无法使用函数内部的变量。

独立于函数存在的变量叫做全局变量,当页面关闭时才会被回笼。所以说函数内部能够访谈外部全局变量,不过必需确定保障申明必得在行使在此之前。当现身全局变量与部分变量重名时,就近原则。

全局变量和一些变量只针对于函数,对于for循环不适用。

  indexOf(卡塔尔国: 参数:参数生龙活虎,要探寻的项,参数二,(可选)表示查找源点地方的目录;从数组的二发端向后早先查找, 再次来到搜索的项在数组中之处

3.无名函数

无名函数正是没盛名的函数,能够直接试行,无需调用

风姿浪漫旦想要无名氏函数发生函数名,将在定义一个变量来接过,这么些变量就是函数名,调用这一个变量就足以施行函数。

btn.onclick=function() {

alert("哈哈哈");

}

var      fn=function(卡塔尔(قطر‎ {//即便无名氏函数想要名,

alert("呵呵");

}

fn();

  lastIndexOf(卡塔尔:参数:参数意气风发,要物色的项,参数二,(可选)表示查找源点地方的目录;从数组的末尾早先向前查找,再次回到寻觅的项在数组中之处

4、函数递归

递归必要求有说话,不然将最为实践 内部存款和储蓄器崩溃

求5的阶乘

function     fact(num){

if(num==1) {

return    1;

}else{

return    num*fact(num-1);

}

}

var    result=fact(5);

console.log(result);

  迭代情势

  种种方法都担负七个参数,参数风度翩翩,在每大器晚成项上运行的函数,参数二,(可选),运维该函数的成效域对象——影响this的值

  every(卡塔尔: 对数组中的每意气风发项运转给定的函数,若是该函数的每风流倜傥项都回来true,则赶回true;

  filter(卡塔尔(قطر‎: 对数组中的每风姿浪漫项运营给定的函数,重临该函数会回去true的项构成的数组;查询切合有个别原则的全体数组项有用。

  forEach(卡塔尔: 对数组中的每后生可畏项运营给定的函数,未有重临值。
  map(卡塔尔(英语:State of Qatar):对数组中的每风流浪漫项运营给定的函数,重返每趟函数调用的结果组成的数组。契合创制满含的项与另一个数组风度翩翩生龙活虎对应的数组。

  some(卡塔尔(英语:State of Qatar):对数组中的每生机勃勃项运转给定的函数,借使该函数对任生机勃勃项再次回到true,则赶回true。

  合併方法

  都以两个参数,参数意气风发,在每风度翩翩项上调用的函数;参数二,(可选),作为联合底蕴的开首值。第一遍迭代产生在数组的第二项。

  reduce(卡塔尔(قطر‎, reduceRight(卡塔尔国:选用四个参数,参数豆蔻梢头,前三个值;参数二,当前值;参数三,项的目录;参数四,数组对象。函数重返的任何值都会作为第多个参数字传送  给下生龙活虎项。

  reduce(卡塔尔:从数组的率先项开始,逐项遍历到最终,

  reduceRight(卡塔尔国:从数组的率先项最早,每种遍历到最后。

 

  Date类型

  var date = new Date();

  Date.parse(卡塔尔(قطر‎:依据字符串参数再次回到相应的日子皮秒数;

  Date.now(卡塔尔国: 重临调用那些函数时的日子和岁月的微秒数;

  var start = +new Date(卡塔尔(قطر‎;   // 使用+操作符获取Date对象的年华戳;

 

  RegExp类型

  var pattern = new RegExp('相配的字符串方式', '可选的注解字符串'卡塔尔(英语:State of Qatar);

  

  RegExp实例方法

  exec(要选择格局的字符串卡塔尔(英语:State of Qatar):特意为捕获而陈设,再次来到满含第叁个十一分项音信的数组,未有相配项的情事下回到null;

  test(字符串参数卡塔尔国:在形式与改参数相配的情景下再次回到true,不然再次来到false。是不是同盟,无需了然内容的动静下使用。

 

  Function类型

  由于函数是一个对象,所以函数名是叁个针对函数对象的指针;

  函数名只是指向函数的指针;

  使用不带圆括号的函数名只是访谈函数指针,不是调用函数;

 

  ECMAScript中并未函数重载的定义

  深入剖判器在向施行遭受加载数据的时候,对函数申明和函数表明式并不是玉石俱焚,深入深入分析器会首先拆解解析函数注解,使其在施行别的轮代理公司码以前可用。函数表达式,必须等解   析器实践到他无处的代码行,才会被真正的解析履行。

  依据有些对象属性对数组进行排序

  function compareProperty(propertyName) {
    return function(obj1, obj2) {
      var val1 = obj1[propertyName];
      var val2 = obj2[propertyName];
      if(val1 < val2) {
        return -1;
      } else if (val1 > val2) {
        return 1;
      } else {
        return 0;
      }
    }
  }

  vra data = [{name: 'xhk', age: 35}, {name: 'coco', age: 23}];

  data.sort(compareProperty('age'));

 

  函数内部属性  arguments, this

  arguments: 叁个类数组对象,满含传入函数中的全体参数;首要用场有: 1)保存函数参数,arguments对象上有一个callee属性,该属性是二个指针,指向具有这些arguments对象的函数。

  function factorial (num) {
    if(num <= 1) {
      return 1;

    } else {
      return num * factorial(num -1);
    }
  }

  factorial(5)      // 120

  要是函数著名字,並且未来函数名字不会变的气象下,那样写没万分,不过这么写函数的实行和函数名牢牢的耦合在联合具名,使用arguments.callee;

  function factorial (num) {
    if(num <= 1) {
      return 1;

    } else {
      return num *arguments.callee(num -1);
    }
  }

  factorial(5)      // 120

   this: this援用的是函数试行的条件指标,全局对象是window。

  函数名只是贰个带有指针的变量,就算在不一样的碰到下也是调用同二个函数。

  函数的习性和方式

  种种函数都有两特个性length(表示函数希望接收的命名参数的个数卡塔尔国, prototype(卡塔尔

  function xhk(coco, lover) {
    return;
  }

  xhk.length  // 2

  各类函数都包涵八个非世袭而来的办法(扩展函数赖以运营的成效域卡塔尔国

  apply(卡塔尔: 在特定的功效域中调用函数,相当于设置函数体内this对象的值。四个参数,参数一,在里面运转函数的功用域;参数二,参数数组(能够使Array实例也得以是arguments)

  function callaSum2 (num1, num2) {
    return sum.apply(this, [num1, num2]);
  }

  function callaSum1 (num1, num2) {
    return sum.apply(this, arguments);
  }

  call(卡塔尔(قطر‎: 在特定的功效域中调用函数,相当于设置函数体内this对象的值。参数蓬蓬勃勃this, 参数二数组(必需各种列出来)

  function callaSum3 (num1, num2) {
    return sum.apply(this, num1, num2);
  }

  bind(卡塔尔: 创造三个函数的实例,this值绑定到传给bind的值;

  var color = 'red';
  var o = {
    color: 'blue'
  }

  function sayColor() {
    return this.color;
  }

  var _color = sayColor.bind(o);

  _color();    // blue

  

  基本包装档期的顺序

  3个极其的援引类型: Boolean, Number, String

  每当读取二个着力项目标值时, 后台会创立三个相应的为主包装等级次序的对象,进而让大家能够调用一些艺术来操作这一个数据。

  在读取方式中做客字符串的时候,后台自动完毕下列管理:

  1)创立基本类型的二个实例;

  2)在实例上调用钦点的办法;

  3)销毁那些实例;

  eg. var s1 = new String('xhk');

    var s2 = s1.substring(2);

    s2 = null;

  引用类型和基本包装档期的顺序的首要分歧在于对象的生存期。

  使用new操作符创造的引用类型的实例,在施行流离开当前功能域以前一直保存在内部存款和储蓄器中;自动创制的着力包装档案的次序的指标,只设有于生机勃勃行代码推行的一会儿,然后立   即销毁。所以大家不能够在运营时为主干项目增多属性和办法

  Boolean类型

  全部骨干包装档案的次序的对象在退换为布尔类型时值始终为true.

  Number类型

本文由澳门网络娱乐游戏平台发布于Web前端,转载请注明出处:【澳门可靠投注平台】JS根基第一节

相关阅读