JavaScript (三) js的基本語法 - - 數組 與函數 、關鍵字


個人博客網:https://wushaopei.github.io/    (你想要這里多有)

一、關鍵字

1、break 關鍵字使用

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

示例:

         for(var i=0;i<10;i++){ while (true){ console.log("哈哈"); break;// } } console.log("哈哈,我出來了"); //找到100到200之間第一個可以被7整除的數字, for(var i=100;i<=200;i++){ if(i%7==0){ console.log(i); break; } }

2、continue 關鍵字

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

示例:

           var i=0; while (i<10){ console.log("哈哈"); //continue; i++; }

練習:

①案例:求100-200之間所有的奇數的和(用continue)

          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; var i=100; while(i<=200){ if(i%10==3){ //個位數是3,不要 i++; continue; } sum+=i; i++; } console.log(sum);

二、數組

數組:一組有序的數據

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

1、數組的定義:

(1)通過構造函數創建數組

    語法:

     var 數組名=new Array(); var array=new Array();//定義了一個數組 數組的名字如果直接輸出,那么直接就可以把數組中的數據顯示出來,如果沒有數據,就看不到數據
var 數組名=new Array(長度);

如果數組中沒有數據,但是有長度---,數組中的每個值就是undefined

 構造函數的方式創建數組的時候,如果在Array(一個數字)--->數組的長度(數組元素的個數)

 如果在Array(多個值);這個數組中就有數據了,數組的長度就是這些數據的個數

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

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

注意:

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

數組 : 一組有序的數據

  • 數組元素:數組中存儲的每個數據,都可以叫數組的元素,比如:存儲了3個數據,數組中3個元素 
  • 數組長度:就是數組的元素的個數,比如有3個元素,就說,這個數組的長度是3 
  • 數組索引(下標):用來存儲或者訪問數組中的數據的,索引從0開始,到長度減1結束 
  • 數組的索引和數組的長度的關系:長度減1就是最大的索引值
        如何設置數組中某個位置的值
         數組名[下標]=值;
         arr[3]=100; 如何獲取數組中某個位置的值 var result=數組名[下標]; console.log(result);

示例:

         //通過構造函數的方式定義一個數組 var array=new Array(5);//沒有數據,空數組 console.log(array); alert(array); //就是一個數組---->字面量的方式 var arr=[]; console.log(arr); var arr1=new Array();//構造函數的方式---空數組 var arr2=new Array(5);//構造函數的方式定義了一個數組,數組中有5個元素,數組長度是5,每個數據是undefined var arr3=new Array(10,20,1000,40,50,60); console.log(arr3); var arr=new Array(10,20,30,40,100); //console.log(arr[4]);//獲取 //設置 arr[3]=1000; console.log(arr); //字面量的方式更簡單 var arr=[10,20,30,40,50,60,70,80,10,20,3043,5];//空數組 console.log(arr.length);

2、數組的注意問題

① 數組中存儲的數據類型是可以不一樣的:

         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]);

3、 數組基礎知識總結:

   數組:存儲一組有序的數據
   數組的作用:一次性存儲多個數據
   數組的定義方式:
   1.構造函數定義數組: var 數組名=new Array();
   2.字面量方式定義數組: var 數組名=[];
  
   var 數組名=new Array();空數組
   var 數組名=new Array(值);數組定義了,有長度
   var 數組名=new Array(值1,值2,值3....);定義數組並且有多個數據
   var 數組名=[];空數組
   var 數組名=[值1,值2,值3];有三個數據
   數組元素:就是數組中存儲的數據
   數組長度:就是數組中元素的個數
   數組索引(下標):從0開始,到數組的長度減1結束
   通過下標設置數組的元素值: 數組名[索引]=值
   通過下標訪問數組的元素值: 數組名[索引]
        var arr1=new Array();//空數組 var arr2=new Array(5);//長度為5的數組,每個數據的值是undefined var arr3=new Array(1,2,3,4,5);//長度為5分數組, var arr4=[];//空數組 var arr5=[1,2,3];//長度為3的數組 var arr6=["red","blue","green",1,true];//數組中元素的值的類型可以不一樣 var arr7=[]; //設置數組的元素的值 arr7[0]=10; arr7[1]=20;

4、數組基本算法、練習:

(1)案例:把數組中每個元素用|拼接到一起產生一個字符串並輸出

           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=1;i<names.length;i++){ str+="|"+names[i]; } console.log(names[0]+str);

(2)案例:去掉數組中重復的0,把其他的數據放在一個新的數組中

           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);

(3)案例:反轉數組---把數組中的數據的位置調換

           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

(4)案例:提示用戶輸入班級人數,求總成績,平均值,最高分,最低分---擴展

        //提示用戶輸入人數,並轉成數字類型 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);

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

        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);

三、函數

1、函數的定義:

  • 函數:把一坨重復的代碼封裝,在需要的時候直接調用即可
  • 函數的作用:代碼的重用
    語法:
        
         function 函數名字(){ 函數體-----一坨重復的代碼 } 

2、函數的調用:

函數名();

示例:

       //函數定義 function cook() { console.log("切菜"); console.log("放油"); console.log("炒菜"); console.log("放鹽"); console.log("裝盤"); } //函數調用 cook();

3、函數定義規則與練習

  1. 函數需要先定義,然后才能使用
  2. 函數名字:要遵循駝峰命名法
  3. 函數一旦重名,后面的會把前面的函數覆蓋

示例: 覆蓋:

           function f1() { console.log("小楊好帥哦"); } function f1() { console.log("小蘇好猥瑣哦"); } f1();

練習:

        //求兩個數字的和 function consoleSum() {//函數定義 var num1 = 100; var num2 = 200; var sum = num1 + num2; console.log(sum); } //調用 consoleSum(); //求三個數字的和 function consoleSum2() { var num1 = 10; var num2 = 20; var num3 = 30; var sum = num1 + num2 + num3; console.log(sum); } consoleSum2(); //求兩個數字的最大值 function consoleMax() { var x = 10; var y = 20; console.log(x > y ? x : y); } consoleMax(); //求三個數字的最大值 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 everySum() { var sum=0; for(var i=1;i<=100;i++){ sum+=i; } console.log(sum); } everySum(); //求1-100之間所有偶數的和 function everyEvenSum() { var sum=0; for(var i=1;i<=100;i++){ if(i%2==0){ sum+=i; } } console.log(sum); } everyEvenSum(); //求一個數組的和 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();

4、 函數的參數

  • 在函數定義的時候,函數名字后面的小括號里的變量就是參數,目的是函數在調用的時候,用戶傳進來的值操作
  • 在函數定義的時候,函數名字后面的小括號里的變量就是參數,目的是函數在調用的時候,用戶傳進來的值操作
  • 在函數調用的時候,按照提示的方式,給變量賦值--->就叫傳值,把這個值就傳到了變量(參數)中
  1. 形參:函數在定義的時候小括號里的變量叫形參 
  2. 實參:函數在調用的時候小括號里傳入的值叫實參,實參可以是變量也可以是值

示例:

        //函數定義 function consoleSum(x, y) { var sum = x + y;//計算和----功能 console.log(sum);//輸出和---第二個功能 } //函數調用 var num1=parseInt(prompt("輸入第一個數字")); var num2=parseInt(prompt("輸入第二個數字")); consoleSum(num1, num2);

5、函數的返回值

set:設置
get:獲取
函數的返回值:在函數內部有return關鍵字,並且在關鍵字后面有內容,這個內容被返回了
當函數調用之后,需要這個返回值,那么就定義變量接收,即可

說明:

         如果一個函數中有return ,那么這個函數就有返回值 如果一個函數中沒有return,那么這個函數就沒有返回值 如果一個函數中沒有明確的返回值,那么調用的時候接收了,結果就是undefined (沒有明確返回值:函數中沒有return,函數中有return,但是return后面沒有任何內容) 函數沒有返回值,但是在調用的時候接收了,那么結果就是undefined 變量聲明了,沒有賦值,結果也是undefined 如果一個函數有參數,有參數的函數 如果一個函數沒有參數,沒有參數的函數 形參的個數和實參的個數可以不一致 return 下面的代碼是不會執行的

示例代碼:

        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;//把和返回 } //函數調用 var result=getSum(10, 20); console.log(result+10); //有參數,有返回值的函數 function f1(x,y) { return x+y; } //有參數,無返回值的函數 function f2(x) { console.log(x); } //無參數,有返回值的函數 function f3() { return 100; } //無參數無返回值的函數 function f4() { console.log("薩瓦迪卡"); } var sum=f1(10); console.log(sum);//

6、函數案例:

        //求兩個數字的和:獲取任意的兩個數字的和 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; } return sum; } console.log(geteverySum()); //- 求1-n之間所有數的和 function geteverySum(n) { var sum = 0; for (var i = 1; i <= n; i++) { sum += i; } return sum; } console.log(geteverySum(10)); // - 求n-m之間所有數的和 function geteverySum2(n, m) { var sum = 0; for (var i = n; i <= m; i++) { sum += i; } return sum; } console.log(geteverySum2(1, 100)); //求圓的面積 function getS(r) { return Math.PI * r * r; } console.log(getS(5)); // - 求2個數中的最大值 // - 求3個數中的最大值 // - 判斷一個數是否是素數(質數) function f1() { console.log("考尼奇瓦"); return 100; } //f1函數調用,把函數的返回值輸出了 console.log(f1()); function f1() { console.log("考尼奇瓦"); return 100; } console.log(f1);//輸出的f1函數名字-----是f1函數的代碼


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM