🍅 作者:阿珊
🍅 簡歷模板、職場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++;//102continue;}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;}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函式的代碼

轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/294248.html
標籤:其他
上一篇:JavaScript|異步編程
下一篇:js中的預決議(初學)
