DAY4:函數(上)javascript
第一節: java
概念:函數就是定義一次可是能夠調用執行任意屢次的JS代碼塊。算法
l 函數就是表示一個能夠操做的行爲動做數組
做用:提升代碼的複用性、可讀性等函數
l 將一個能夠操做的行爲動做定義好,能夠在任什麼時候候任意屢次的重複操做這個行爲而不須要編寫重複的代碼加密
l spa
javascript中經過function關鍵字來聲明定義一個函數3d
function 函數名稱() {對象
函數中要執行的代碼;blog
}
l 函數定義好以後,函數中的代碼在程序運行過程當中不會執行;
l 經過函數名稱調用函數,調用時執行函數中的代碼;
l 經過函數的名稱直接調用函數
事件:就是發生的事情
事件驅動:就是發生了某件事情以後要處理的手段和過程
鼠標事件 |
|
onclick |
鼠標單擊 |
ondblclick |
鼠標雙擊 |
onmousedown |
鼠標按鍵按下 |
onmouseup |
鼠標按鍵擡起 |
onmousemove |
鼠標在元素上移動 |
onmouseout |
鼠標移出 |
Onmouseenter |
鼠標移入 |
鍵盤事件 |
|
Onkeydown |
鍵盤按鍵按下 |
Onkeyup |
鍵盤按鍵擡起 |
onkeypress |
鍵盤按鍵按住 |
function 函數名稱(參數列表){
函數體中的代碼;
}
第二節:應用
要求:使用傳參的形式
f1(num1,num2,op){
}
F1(1,2,’+’)
F1(5,2,3) // 2 ,3 ,5
第三節:
直接聲明 |
function 函數名稱() { 函數中要執行的代碼; } |
賦值式聲明 |
var x = function 函數名稱() { 函數中要執行的代碼; } |
l 函數中聲明變量而且賦值,聲明部分會提高到函數中的第一行,賦值部分在原來的位置不變
第四節:應用
第五節:綜合應用
好比:
計算0-3之間能組成的奇數個是01、21、03、13、23、31
0,1,2 , 3
2.某個公司採用公用電話傳遞數據,數據是四位的整數,在傳遞過程當中是加密的,加密規則以下:每位數字都加上5,而後用除以10的餘數代替該數字,再將第一位和第四位交換,第二位和第三位交換,請編寫一個函數,傳入原文,輸出密文;
DAY5:函數(下)
第一節:精講
所謂做用域,其實就是指某個變量有效可用的範圍
l 所謂遞歸,就是函數本身執行過程當中,調用本身自己的方式。
F(n)=F(n-1)+n = F(n-2)+n-1 +n= F(n-3)+n-2 + n-1 + n ...... F(1)+2+3+4.... n-1 + n |
l 遞歸,是爲了使用最簡單的代碼解決類似的、重複處理的流程出現的。
遞歸的步驟:
//1.先找臨界值,即無需計算 就能獲取的值
//2.找本次 和上一次的關係
//3.假設 當前函數已經可使用了,調用自身計算上一次的運行結果,再寫出本次運行結果 便可
//求1-n之間的和
//1 ........ 100
// 1- 1000
//1. 臨界值1
// F(100)= F(99)+100= F(98)+99+100 = F(1)+2+3+4.....+99+100
//2. sum(n-1)+n = sum(n)
function sum1(n) {
//臨界值
if(n==1){
return 1;
}
return sum1(n-1)+n;
}
第二節:應用
指的是這樣一個數列:0,1、1、2、3、5、8、13、21、34、……在數學上,斐波納契數列以以下被以遞歸的方法定義:F(0)=0,F(1)=1, F(n)=F(n-1)+F(n-2)(n>=2,n∈N*)
這個數列從第3項開始,每一項都等於前兩項之和。
當n > 3 時,每項的值爲前兩項之和。即當n = 1 和 n = 2 時分別取值爲0、1
若是數a能被數b整除,a就叫作b的倍數,b就叫作a的約數。
幾個整數,公有的約數,叫作這幾個數的公約數;其中最大的一個,叫作這幾個數的最大公約數。例如:十二、16的公約數有一、二、4,其中最大的一個是4,4是12與16的最大公約數通常記爲(12,16)=4
展轉相除法:
展轉相除法:展轉相除法是求兩個天然數的最大公約數的一種方法,也叫歐幾里德算法。
這就是展轉相除法的原理。
例如,求(319,377):
∵ 319÷377=0(餘319)
∴(319,377)=(377,319);
∵ 377÷319=1(餘58)
∴(377,319)=(319,58);
∵ 319÷58=5(餘29)
∴ (319,58)=(58,29);
∵ 58÷29=2(餘0)
∴ (58,29)= 29;
∴ (319,377)=29。
能夠寫成右邊的格式。
用展轉相除法求幾個數的最大公約數,能夠先求出其中任意兩個數的最大公約數,再求這個最大公約數與第三個數的最大公約數,依次求下去,直到最後一個數爲止。最後所得的那個最大公約數,就是全部這些數的最大公約數。
M = n;
N = r
f(m,n f(n,r)
第三節:
第四節:應用
要求:頁面輸入任意數字,點擊按鈕後計算階乘
練習
常見事件與函數的結合(可將信息打印在控制檯)