第3天:函式的定義、使用、案例
阿新 • • 發佈:2019-01-02
函式:把一些重複的程式碼封裝起來,在需要的時候直接呼叫這個函式
函式的作用:程式碼的重用
在函式中定義的時候,函式後面的小括號的變數就是,目的在呼叫的時候
使用者傳進來的值操作
形參:函式定義時在函式名後,宣告的引數
變數聲明瞭,沒有複製,結果也是undefined
function consoleSum(x,y){//函式定義 var sum=x+y;//計算和 console.log(sum)//輸出和 } //實參:函式呼叫時在函式名後,填寫的引數 consoleSum(10,20)
function如果一個函式中沒有return,那麼這個函式就沒有返回值 如果一個函式中有return,那麼這個函式就有返回值 沒有返回值,但是在呼叫的時候接收了,那麼結果就是undefined(沒有return;return後沒有任何內容)getSum(x,y){ var x=10; var y=10; var sum=x+y return sum; } function getSum(x,y){ return x+y;//把和返回 } var result=getSum(10,30); console.log(result)
function f1(x,y){ var sum=x+y; } var result=f1(10,20); console.log(result);
function例項
//求1~n之間所有數字的和 function getEevrySum(n){ var sum=0; for(var i=1;i<=n;i++){ sum+=i; } return sum; } console.log(getEevrySum(100)) //求n~M之間所有數字的和 function getEevrySum1(n,m){ var sum=0; for(n;n<=m;n++){ sum+=n; } return sum; } console.log(getEevrySum1(1,100)) </script>
//求圓的面積 function getY(r){ return parseInt( Math.PI*r*r) } console.log(getY(5));
//求兩個數的最大值 function getMax(num1,num2){ return num1>num2?num1:num2; } function getThreeMax(x,y,z){ return x>y?(x>z?x:z):(y>z?y:z); } //求是否質數 function isSuShu (num) { for(var i=2;i<num;i++){ if(num%i==0){ return false; } } return true; } // var result=isSuShu(24); // if(result){ // console.log("這個數是質數") // }else{ // console.log("這個數不是質數") // } //簡介的寫法 console.log(isSuShu(7)?"是質數":"不是質數")
//求一組數字中的最大值 function getArrayMax(array){ var max=array[0]; for(var i=0;i<array.length;i++){ if(max<array[i]){ max=array[i]; } } return max; } var myArray=[10,20,30,40,50]; console.log(getArrayMax(myArray))//console.log(getArrayMax([10,20,30,40,50]))
//求一組數字中的最小值 function getArrayMin(array){ var min=array[0]; for(var i=0;i<array.length;i++){ if(min>array[i]){ min=array[i]; } } return min; } console.log(getArrayMin([10,20,30]));//10
//求一組陣列中的和 function getArraySum(array){ var sum=0; for(var i=0;i<array.length;i++){ sum+=array[i] } return sum; } console.log(getArraySum([10,20,30]))//60
/* 求一組數字中的最大值、最小值、和 *array傳入的陣列 *arr返回是一個數組 *第一個是最大值,第二個是最小值,第三個是和 */ function getArrayMaxAndMinAndSum(array){ var min=[0]; var max=[0]; var sum=0; for(var i=0;i<array.length;i++){ sum+=array[i]; if(max<array[i]){ max=array[i]; } if(min>array[i]){ min=array[i] } } var arr=[max,min,sum] return arr; } var result=getArrayMaxAndMinAndSum([1,2,3,4,5,6,7,8,9]); console.log("最大值:"+result[0]); console.log("最小值:"+result[1]); console.log("和:"+result[2]);
//陣列返祖 function reveseArray(array){ //陣列反轉次數是它長度的一半 for(var i=0;i<array.length/2;i++){ var tem=array[i]; array[i]=array[array.length-1-i]; array[array.length-1-i]=tem; } return array; } console.log(reveseArray([1,2,3,4,56,]))//56,4,3,2,1