練習1:求一個數字的階乘 function getJieCheng(num) { var result = 1; for (var i = 1; i <= num; i++) { result *= i; } return result; } console.log(getJieCheng(6)); ...
練習1:求一個數字的階乘
function getJieCheng(num) { var result = 1; for (var i = 1; i <= num; i++) { result *= i; } return result; } console.log(getJieCheng(6)); //1*2*3*4*5*6
練習2:求一個數字的階乘和
ps:
5的階乘和:即5的階乘+4的階乘+3的階乘+2的階乘+1的階乘function getJieChengSum(num) { var sum = 0; //和 for (var i = 1; i <= num; i++) { sum += getJieCheng(i); } return sum; } console.log(getJieChengSum(5)); // 1+2+6+24+120 //函數內部可以調用其它函數
*函數function getJieCheng(num)被調用了:
練習3: 求斐波那契數列
ps: 1 1 2 3 5 8 13 21 34 55 89 144
function getFib(num) { var num1 = 1; var num2 = 1; var sum = 0; for (var i = 3; i <= num; i++) { sum = num1 + num2; num1 = num2; num2 = sum; } return sum; } console.log(getFib(12));//144
練習4:輸入,年月日,獲取這個日期是這一年的第多少天
//判斷這個年份是不是閏年 function isLeapYear() { return year % 4 == 0 && year % 100 != 0 || year % 400 == 0; } function getDays(year, month, day) { //定義變數存儲對應的天數 var days = day; //如果用戶輸入的是一月份,沒必要向後算天數,直接返回天數 if (month == 1) { return days; } //代碼執行到這裡-----說明用戶輸入的不是1月份 //定義一個數組,存儲每個月份的天數 var months = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; //小於的是輸入的月份-1 for (var i = 0; i < month - 1; i++) { days += months[i]; } //判斷這個年份是不是閏年,且始第二個月起 if (isLeapYear && month > 2) { days++; } return days; } console.log(getDays(2019,11,27));
附加:函數裡面可以調用其他的函數
function f1() { console.log("我是一個函數"); f2();//函數的調用 } function f2() { console.log("我也是一個函數"); } f1();