當前位置 博文首頁 > 信息技術智庫:?? 珊姐帶你學JavaScript:數組和函數 (萬文建藏

    信息技術智庫:?? 珊姐帶你學JavaScript:數組和函數 (萬文建藏

    作者:[db:作者] 時間:2021-09-13 19:01

    🍅 作者:阿珊

    🍅 簡歷模板、職場PPT模板、技術交流盡管關注私聊我。

    🍅 期許:歡迎點贊 👍 收藏 ?留言 📝 如有錯誤敬請指正!

    熱門專欄推薦:

    🥇 大數據集錦專欄:大數據-硬核學習資料 & 面試真題集錦?
    🥈?數據倉庫專欄:數倉發展史、建設方法論、實戰經驗、面試真題?
    🥉?Python專欄:Python相關黑科技:爬蟲、算法、小工具?

    (優質好文持續更新中……)?

    本篇重點

    • 關鍵字的使用: break,continue

    • 數組

    • 冒泡排序

    • 函數

    01 break關鍵字的使用

    break關鍵字:如果在循環中使用,遇到了break,則立刻跳出當前所在的循環

      for(var i=0;i<10;i++){       while (true){         console.log("哈哈");         break;//       }????}?????console.log("哈哈,我出來了"); ?????for?(var?i?=?0;?i?<?10;?i++)?{ ???????//第四步說明break不能跳出for循環,因為for循環在while循環的外面       while (true) {//第一步,此步 為死循環          console.log("yu");          break;//第二步,        }     }      console.log("shan");//第三 

    找到100到200之間第一個可以被7整除的數字

    for (var i = 100; i <= 200; i++) {   if (i % 7 == 0) {      console.log(i);      break;    } }for(var i=100;i<=200;i++){    if(i%7==0){      console.log(i);      break;    }   } 

    02 continue關鍵字的使用

    continue:在循環中如果遇到continue關鍵字,直接開始下一次循環

    var i=0; while (i<10){   console.log("哈哈");  //continue;   i++; ? var i=0;  while(i<10){    console.log("hh")    continue;    i++;  }? //案例:求100-200之間所有的奇數的和(用continue)  var sum = 0;   for (var i = 100; i <= 200; i++) {     if (i % 2 != 0) {       sum += i;       continue;       i++;      }  }  console.log(sum)// 其他方法sum = 0;for (var i = 100; i <= 200; i++) { if (i % 2 == 0) continue; else {  sum += i; }}console.log(sum) ??var sum = 0; var i = 100; while (i <= 200) {   //判斷是不是偶數   if (i % 2 == 0) {     //如果是偶數----->跳過這個數字    i++;//102     continue;   }   sum += i;   i++; }console.log(sum); // 案例:求整數100~200的累加值,但要求跳過所有個位為3的數? var sum = 0;  for (var i = 100; i <= 200; i++) {    if (i % 10 == 3) {      continue;    }   sum += i;  }  console.log(sum) ? var sum = 0;  for (var i = 100; i <= 200; i++) {    if (i % 10 == 3)      continue;    }   sum += i  } console.log(sum); ?var sum=0; var i=100; while(i<=200){   if(i%10==3){     //個位數是3,不要    i++;     continue;   }  sum+=i;   i++; }console.log(sum); ??var sum=0; var i=1; while(i<=10){   if(i%10==3){     //個位數是3,不要    i++;     continue;   }  sum+=i;   i++; }console.log(sum); ?console.log(3%10  ==3); ?

    03?數組

    數組:一組有序的數據

    數組的作用:可以一次性存儲多個數據

    數組元素:數組中存儲的每個數據,都可以叫數組的元素

    數組長度:就是數組的元素的個數,比如有3個元素,就說,這個數組的長度是3

    數組索引(下標):用來存儲或者訪問數組中的數據的,索引從0開始,到長度減1結束

    數組的索引和數組的長度的關系:長度減1就是最大的索引值

    數組的定義方式:

    1.構造函數定義數組: var 數組名=new Array();

    2.字面量方式定義數組: var 數組名=[];

    1.通過構造函數的方式定義一個數組

    語法:var 數組名=new Array(); var array=new Array();//定義了一個數組 ?var arr1 = new Array(); var?arr2?=?new?Array(5);  alert(array);

    數組的名字如果直接輸出,那么直接就可以把數組中的數據顯示出來,

    如果沒有數據,就看不到數據,就是一個數組----字面量的方式

     var arr3 = new Array(10,20,1000,40,50);  console.log(arr3) 

    2. 通過字面量的方式創建數組

    var 數組名=[];//空數組 var array=[]; 

    無論是構造函數的方式還是字面量的方式,定義的數組,如果有長度,那么默認是undefined

    如何設置數組中某個位置的值

    數組名[下標]=值;  arr[3]=100; 

    如何獲取數組中某個位置的值

    var result=數組名[下標];console.log(result); 

    通過構造函數的方式定義一個數組

    var array=new Array(5);//沒有數據,空數組 console.log(array); alert(array); ?var arr3=new Array(10,20,1000,40,50,60); console.log(arr3); var arr = new Array(10, 20, 30, 40, 50); // console.log(arr[4])//獲取//設置,也就是修改某個值arr[3] = 1000;  console.log(arr); 

    數組中存儲的數據類型一定是一樣的嗎? 類型可以不一樣

      var arr=[10,"哈哈",true,null,undefined,new Object()];console.log(arr); ?var?arr?=?[]; arr[0] = 10; arr[1] = 20; console.log(arr.length); console.log(arr[2]); 

    數組的長度是不是可以改變呢?

     var arr = [];     //通過索引來設置數組中的元素的值    arr[0] = 10;     arr[1] = 20;     console.log(arr.length);     //獲取元素的值,通過索引的方式    console.log(arr[2]); ?// for循環遍歷數組 var arr=[10,20,30,40];      console.log(arr[0]);      console.log(arr[1]);      console.log(arr[2]);      console.log(arr[3]);      console.log(arr[4]); ?    var arr = [10, 20, 30, 40, 50];     //顯示數組中的每個數據    console.log(arr[0]);     console.log(arr[1]);     console.log(arr[2]);     console.log(arr[3]);      console.log(arr[4]);     console.log(arr[5]);//沒有數據 ?    //通過for循環遍歷數組    var arr = [10, 20, 30, 40, 50];     for (var i = 0; i < arr.length; i++) {       console.log(arr[i])     }?     var arr=[10,20,30,40,50,60,70,80,90,100];  //小于的是數組的長度--個數     for(var i=0;i<arr.length;i++){        console.log(arr[i]);      }??//案例1:求數組中所有元素的和   var arr1=[10,20,30,40,50]    var sum=0;    for(var i=0;i<arr1.length;i++){      sum+=arr1[i];    }    console.log(sum) ?   var arr1 = [10, 20, 30, 40, 50];   var sum = 0;    for (var i = 0; i < arr1.length; i++) {      sum += arr1[i];    }   console.log(sum); ?// 案例2:求數組中所有元素的平均值?   var arr2=[1,2,3,4,5];    var sum2=0;    for(var i=0;i<arr2.length;i++){      sum2+=arr2[i];    }   console.log(sum2/arr2.length) ??   var arr2 = [1, 2, 3, 4, 5];    var sum2 = 0;    for (var i = 0; i < arr2.length; i++) {      sum2 += arr2[i];    }   console.log(sum2 / arr2.length); ?案例3:求數組中所有元素中的最大值  var arr3 = [1, 2, 3, 4, 10, 2, 3, 6, 9, 11, 78, 55];   var max = arr3[0];   for (var i = 0; i < arr3.length; i++) {     if (max < arr3[i]) {       max = arr3[i];     }  }  console.log("最大值:" + max) ?   var arr3 = [1, 3, 2, 5, 10, 100, 50];    //假設max變量中存儲的是最大值   var max = arr3[0];    for (var i = 0; i < arr3.length; i++) {      //判斷這個變量的值和數組中每個元素的值是不是最大值     if (max < arr3[i]) {        max = arr3[i];      }   }   console.log("最大值:" + max);    //一個不好的地方----會出現bug的     var arr3=[-1,-2,-3];     //假設max變量中存儲的是最大值     var max=0;     for(var i=0;i<arr3.length;i++){       //判斷這個變量的值和數組中每個元素的值是不是最大值      if(max<arr3[i]){         max=arr3[i];       }    }    console.log("最大值:"+max); ?   var arr3=[1,3,2,5,10,100,50];    //假設max變量中存儲的是最大值   var max=Number.MIN_VALUE;//假設變量是最大的,但是實際上存儲的是最小的值   for(var i=0;i<arr3.length;i++){      //判斷這個變量的值和數組中每個元素的值是不是最大值     if(max<arr3[i]){        max=arr3[i];       }    }   console.log("最大值:"+max); ?// 案例4:求數組中所有元素的最小值?    var arr4 = [1, 2, -3, 4, 10, 2, 3, 6, 9, 11, 78, 55];      var min = arr4[0];      for (var i = 0; i < arr4.length; i++) {        if (min > arr4[i]) {          min = arr4[i];        }     }     console.log("最小值:" + min)  ?    var arr4 = [100, 10, 20, 30, 40, 50];    var min = arr4[0];//假設min里存儲的就是最小值    for (var i = 0; i < arr4.length; i++)  {       if (min > arr4[i]) {         min = arr4[i];       }    }    console.log("最小值:" + min);?案例5:倒序遍歷數組    var arr5 = [10, 20, 30, 40, 50];     //正序     for (var i = 0; i < arr5.length; i++)      console.log(arr5[i]);     //那么倒序呢    for(var i=arr5.length-1;i>=0;i--){       console.log(arr5[i])     }?    var arr5 = [10, 20, 30, 40, 50, 100];    //正序      //    for (var i = 0; i < arr5.length; i++) {     //      console.log(arr5[i]);     //    }    //倒序     for (var i = arr5.length - 1; i >= 0; i--) {      console.log(arr5[i]);     }?案例6:把數組中每個元素用|拼接到一起產生一個字符串并輸出?var names = ["卡卡西", "佐助", "鳴 人", "大蛇丸", "雛田", "小蘇", "鳳姐", "黑崎一護"];   var str = "";   for (var i = 0; i < names.length - 1; i++) {      str += "|" + names[i];    }   console.log(str + names[names.length - 1]); ?   var names = ["卡卡西", "佐助", "鳴人 ", "大蛇丸", "雛田", "小蘇", "鳳姐", "黑崎一護"];   var str = "";//空的字符串    for (var i = 0; i < names.length - 1; i ++) {     str += "|" + names[i];     }   console.log(str + names[names.length - 1]); ?案例7:去掉數組中重復的0,把其他的數據放在一個新的數組中var arr = [10, 0, 20, 0, 30, 0, 50]; var newArr = [];//新數組,用來存放第一個數組中所有非0的數字 for (var i = 0; i <= arr.lengt h; i++) {    if (arr[i] != 0) {      newArr[newArr.length] = arr[i];    } } console.log(newArr);?? var arr = [10, 0, 20, 0, 30, 0, 50];  var newArr = [];//新數組,用來存放第一個數組中所有非0的數字 for (var i = 0; i <=arr.length; i++) {    if (arr[i] != 0) {      newArr[newArr.length] = arr[i];    } } //把新數組的長度作為下標使用,數組的長度是可以改變的 console.log(newArr); ?案例8:反轉數組—把數組中的數據的位置調換   var array = [1, 2, 3, 4, 5]     for (var i = 0; i = array.length / 2; i++) {       var temp = array[i]; ??????array[i]?=?array[array.length?-?1?-?i];       array[array.length - 1 - i] = temp;     }    console.log(array) ?    var array = [10, 20, 30, 40, 50];     //循環的目的是控制交換的次數     for (var i = 0; i < array.length / 2; i++) {       //先把第一個元素的值放在第三方變 量中      var temp = array[i];       array[i] = array[array.length - 1 - i];       array[array.length - 1 - i] = temp;     }    console.log(array); ??   for(var i=array.length-1;i>=0;i--){     console.log(array[i]);   }   console.log(array);//50 40 30 20 10 ?案例9:提示用戶輸入班級人數,求總成績,平均值,最高分,最低分—擴展?//提示用戶輸入人數,并轉成數字類型 var perCount = parseInt(prompt("請輸入班級人數"));  //定義數組存儲班級的每個人的成績 var perScores = [];  //循環的方式錄入每個人的成績 for (var i = 0; i < perCount; i++) {   //把每個人的成績存儲到數組中    perScores[perScores.length] = parseInt(prompt("請輸入第 " + (i + 1) + "個人的成績:")); } console.log(perScores);  //求總成績 var sum = 0;  var avg = 0;//平均值  var max = perScores[0];//最大值  var min = perScores[0];//最小值  for (var i = 0; i < perScores.length; i++) {    sum += perScores[i];//求和    //求最大值   if (max < perScores[i]) {      max = perScores[i];    }   //求最小值   if (min > perScores[i]) {      min = perScores[i];    } } //平均值 avg = sum / perScores.length;   console.log("和為:" + sum);  console.log("平均值:" + avg);  console.log("最大值:" + max); ?console.log("最小值:"?+?min); 

    04?冒泡排序

    案例8:反轉數組—把數組中的數據的位置調換

    var array = [1, 2, 3, 4, 5]  for (var i = 0; i = array.length / 2; i++) {    var temp = array[i];    array[i] = array[array.length - 1 - i];    array[array.length - 1 - i] = temp;  }  console.log(array)??  var perCount=parseInt(prompt("請輸入班級人數"));  var perScores=[];  for(var i=0;i<perCount;i++){    perScores[perScores.length]=parseInt(prompt("請輸入第"+(i+1)+"個人的成績:"));  }  console.log(perScores);  var sum=0;  var avg=0;  var max=perScores[0];  var min=perScores[0];  for(var i=0;i<perScores.length;i++){    sum+=perScores[i];    if(max<perScores[i]){      max=perScores[i];    }    if(min>perScores){      min=perScores[i];    }  }  avg=sum/perScores.length;  console.log("和為:"+sum);  console.log("平均值為:"+avg);  console.log("最大值為:"+max);  console.log("最小值為:"+min);?  var arr=[10,20,30];  var sum=0;  for(var i=0;i<arr.length;i++){    sum+=arr[i];  }

    冒泡排序:把所有的數據按照一定的順序進行排列(從小到大,從大到下)

      var arr = [10, 0, 100, 20, 60, 30]    for (var i = 0; i < arr.length - 1; i++) {      for (var j = 0; j < arr.length - 1 - i; j++) {        if (arr[j] > arr[j + 1]) {          var temp = arr[j];          arr[j] = arr[j + 1];          arr[j + 1] = temp;        }      }    }    console.log(arr);    //從小到大:大于號    //從大到小:小于號??    var arr = [10, 0, 100, 20, 60, 30];    //循環控制比較的輪數    for (var i = 0; i < arr.length - 1; i++) {      //控制每一輪的比較的次數      for (var j = 0; j < arr.length - 1 - i; j++) {        if (arr[j] < arr[j + 1]) {          var temp = arr[j];          arr[j] = arr[j + 1];          arr[j + 1] = temp;        }      }    }    console.log(arr);

    05?函數介紹及定義

    函數:把重復的代碼封裝,在需要的時候直接調用即可

    函數的作用:代碼的重用

    function 函數名字(){??函數體-----重復的代碼}

    函數的調用:函數名();

    函數名字:要遵循駝峰命名法

    注意:

    • 函數需要先定義,然后才能使用

    • 函數一旦重名,后面的會把前面的函數覆蓋

    • 一個函數最好就是一個功能

    例子:

    ?通過函數求兩個數字的和function consoleSum() {//函數定義    var num1 = 100;    var num2 = 200;    var sum = num1 + num2;    console.log(sum);  }  //調用  consoleSum();?  求兩個數字的最大值  function consoleMax() {    var x = 10222;    var y = 220;    console.log(x > y ? x : y);  }  consoleMax();???求三個數字的和  function consoleSum() {    var num1 = 10;    var num2 = 20;    var num3 = 30;    var sum = num1 + num2 + num3;    console.log(sum)  }  consoleSum();???// --------------------------??  function consoleMax1() {     var x = 1220;     var y = 2220;     var z = 1900;     var max = x>y?(x>z?x:z):(y>z?y:z);//嵌套的三元表達式     console.log(max);   }   consoleMax1();?   求三個數字的最大值  function consoleMax2() {    var x = 10;    var y = 20;    var z = 30;    var max = x > y ? (x > z ? x : z) : (y > z ? y : z);//嵌套的三元表達式    console.log(max);  }? // consoleMax2()?求1-100之間所有數字的和  function Sum() {    var sum = 0;    for (var i = 1; i <= 100; i++) {      sum += i;    }    console.log(sum)  }  Sum();??  function everySum() {    var sum = 0;    for (var i = 1; i <= 100; i++) {      sum += i;    }    console.log(sum);  }  everySum();?求1-100之間所有偶數的和?  function everyEvenSum1() {    var sum = 0;    for (var i = 1; i <= 100; i++) {      if (i % 2 == 0) {        sum += i;      }    }    console.log(sum)  }? // everyEvenSum1();??  function everyEvenSum() {    var sum = 0;    for (var i = 1; i <= 100; i++) {      if (i % 2 == 0) {        sum += i;      }    }    console.log(sum);  }  everyEvenSum();?求一個數組的和  function consoleArraySum1(){    var sum=0;    var arr=[10,20,30,40,50];    for(var i=0;i<arr.length;i++){      sum+=arr[i];    }    console.log(sum);  }  consoleArraySum1();?  function consoleArraySum() {    var sum = 0;    var arr = [10, 20, 30, 40, 50];    for (var i = 0; i < arr.length; i++) {      sum += arr[i];    }    console.log(sum);  }??consoleArraySum();

    06?函數的參數

    函數參數:

    在函數定義的時候,函數名字后面的小括號里的變量就是參數,目的是函數在調用的時候,用戶傳進來的值操作,此時函數定義的時候后面的小括號里的變量叫參數;寫了兩個變量,就有兩個參數,

    在函數調用的時候,按照提示的方式,給變量賦值—>就叫傳值,把這個值就傳到了變量(參數)中

    形參:函數在定義的時候小括號里的變量叫形參

    實參:函數在調用的時候小括號里傳入的值叫實參,實參可以是變量也可以是值

     function consoleSum1() {   var x = 10;   var y = 20;   var sum = x + y;   console.log(sum);  }  consoleSum1();??functionconsoleSum1(x, y, z) { var sum = x* y * z; console.log(sum);}consoleSum1(10, 20, 30)//函數定義function consoleSum(x, y) {  var sum = x + y;//計算和----功能  console.log(sum);//輸出和---第二個功能}//函數調用varnum1=parseInt(prompt("輸入第一個數字"));varnum2=parseInt(prompt("輸入第二個數字"));consoleSum(num1, num2);?? function f1(x) {   console.log(x); } function f2(x,y) {  console.log(x,y); } function f3(x,y,z) {  console.log(x,y,z); } function f4(x,y,z,k) {  console.log(x,y,z,k); }?f1(1)f2(2,3)f3(7,8,8)f4(5,4,0,2)

    ? ? ??

    07?函數的返回值

    set:設置

    get:獲取

    函數的返回值:在函數內部有return關鍵字,并且在關鍵字后面有內容,這個內容被返回了

    當函數調用之后,需要這個返回值,那么就定義變量接收,即可

    如果一個函數中有return ,那么這個函數就有返回值

    如果一個函數中沒有return,那么這個函數就沒有返回值

    如果一個函數中沒有明確的返回值,那么調用的時候接收了,結果就是undefined

    (沒有明確返回值:函數中沒有return,函數中有return,但是return后面沒有任何內容)

    函數沒有返回值,但是在調用的時候接收了,那么結果就是undefined

    變量聲明了,沒有賦值,結果也是undefined

    如果一個函數有參數,有參數的函數

    如果一個函數沒有參數,沒有參數的函數

    形參的個數和實參的個數可以不一致

    return 下面的代碼是不會執行的

        function f11(x,y){      var sum=x+y;      return sum;      console.log("hh");      return 100;    }    var aa=f11(11,22)    console.log(aa)?    function getSum(x, y) {     return x + y;    }    var aa=getSum(10, 20);    console.log(aa+10);??    function f1(x, y) {      var sum = x + y;      return sum;      console.log("助教才是最帥的");      return 100;    }    var result = f1(10, 20);    console.log(result);??   function getSum(x, y) {     var sum = x + y;     return sum;//把和返回   }?函數調用   var result=getSum(10, 20);   console.log(result+10);?函數定義: 有參數有返回值的函數function getSum(x, y) {  return  x + y;//把和返回}?有參數,無返回值的函數   function f2(x) {     console.log(x);   }?無參數,有返回值的函數   function f3() {     return 100;   }?無參數無返回值的函數function f4() {  console.log("薩瓦迪卡");}?函數案例//求兩個數字的和:獲取任意的兩個數字的和    function getSum(x, y) {      return x + y;    }    console.log(getSum(10, 20));??    //求1-100之間所有的數字的和    function geteverySum() {      var sum=0;      for(var i=1;i<=100;i++){        sum+=i;
    
zxbackspace的博客:Visual Studio Code 編輯后同步至 GitHub zxbackspace的博客:Python實現定時在微信群發送消息 zxbackspace的博客:Linux-UOS系統使用命令安裝Java hallobike的博客:從單幅圖像學習生成模型,可應用于多種圖像處 hallobike的博客:win10+tomcat 8的安裝和環境配置 hallobike的博客:Win10系統 Visual Studio 2015+openCV3.4.1安 hallobike的博客:win10系統下調通SeetaFace1.0人臉識別引擎 hallobike的博客:win10系統下Qt和VS環境配置問題 hallobike的博客:SeetaFace6人臉識別算法 hallobike的博客:人臉識別的介紹 hallobike的博客:win10系統下基于SeetaFace2.0的人臉識別系統的 hallobike的博客:神經網絡和深度學習的介紹 hallobike的博客:第三屆全國高校綠色計算系列大賽-任務挑戰組預 hallobike的博客:Python中PyTorch環境配置 hallobike的博客:數據結構課設(C++版) hallobike的博客:Win10下Tesseract-OCR安裝 hallobike的博客:使用OpenCV進行圖像全景拼接 hallobike的博客:讀COMPUTING MACHINERY AND INTELLIGENCE有感 hallobike的博客:利用OpenCV實現圖像修復 hallobike的博客:基于自適應顯著性的圖像分割 hallobike的博客:TensorFlow2.0簡介和線性回歸 hallobike的博客:邏輯回歸與交叉熵 hallobike的博客:梯度下降和多層感知器 hallobike的博客:多分類情況使用softmax函數激活 hallobike的博客:優化函數、學習速率、反向傳播 hallobike的博客:Dropout與過擬合抑制、函數式API hallobike的博客:使用遺傳算法計算函數最大值(C++代碼) hallobike的博客:python中使用matplotlib.pyplot畫函數圖像 hallobike的博客:網絡優化、超參數選擇、過擬合處理 hallobike的博客:使用tf.data數據轉換來訓練MNIST數據集 hallobike的博客:卷積深網絡CNN簡介 hallobike的博客:TensorFlow2.0的Eager模式 hallobike的博客:TensorFlow2.0批標準化 hallobike的博客:深度學習中常見的圖像處理任務 hallobike的博客:TensorFlow2.0中圖運算模式和GPU調用規則 hallobike的博客:圖像語義分割 hallobike的博客:語義分割網絡――FCN hallobike的博客:中藥槲皮素-AKT1與木犀草素IL6/VEGFA直接結合 hallobike的博客:Meat quality evaluation based on computer v hallobike的博客:京東開源FaceX-Zoo,一站式人臉識別研究平臺 hallobike的博客:目標檢測與分類API(TensorFlow官方) hallobike的博客:深度學習圖像處理相關文獻 hallobike的博客:圖像分類中的深度學習網絡匯總 hallobike的博客:一文看懂網絡中間層特征矩陣和卷積層參數 hallobike的博客:python移動文件到新的文件夾并重命名 hallobike的博客:解決OpenCV讀取視頻結束后報錯的問題 貓耳山在天邊:《Linux命令行與shell腳本編程大全》(第三版)讀 英雄哪里出來:??13萬字《C語言動漫對話教程(入門篇)》??(建議收 lyndon:CPU 上下文切換 lyndon:printf()、printk()、消息級別、日志級別 .net平臺的rabbitmq使用封裝demo詳解 C++類的特種函數生成機制詳解 Python調用百度AI實現圖片上表格識別功能 node自定義安裝更改npm全局模塊默認安裝路徑的步驟 帶你用C語言實現strtok和字符串分割函數 靜態網頁和靜態網頁性能比較 網頁標題優化原則和描述優化原則 php 怎么設置cookie記住密碼 php設置時區無效怎么辦 php __autoload 失效怎么辦 有關PHP調試的小技巧,看看吧! 從0開始:教你微信小店怎么開! 成本5元竟然賣50元 微信朋友圈賣面膜真黑啊 HashMap原理及put方法與get方法的調用過程 基于IDEA 的遠程調試 Weblogic的操作過程 UTC時間、GMT時間、本地時間、Unix時間戳的具體使用 如何利用SwiftUI實現可縮放的圖片預覽器 網站怎么利用內容更新雙重境界快速提高網站權重? php顯示繁體亂碼怎么辦 php不能開啟php_curl怎么辦
A级免费视频