JavaScript之 函數

DAY4:函數(上)javascript

第一節: java

  1. 函數的概念及做用

概念:函數就是定義一次可是能夠調用執行任意屢次的JS代碼塊算法

函數就是表示一個能夠操做的行爲動做數組

做用:提升代碼的複用性、可讀性等函數

將一個能夠操做的行爲動做定義好,能夠在任什麼時候候任意屢次的重複操做這個行爲而不須要編寫重複的代碼加密

spa

  1. 函數的編寫

javascript中經過function關鍵字來聲明定義一個函數3d

function 函數名稱() {對象

         函數中要執行的代碼;blog

   }

函數定義好以後,函數中的代碼在程序運行過程當中不會執行;

經過函數名稱調用函數,調用時執行函數中的代碼;

經過函數的名稱直接調用函數

  1. 事件的概念種類及做用

事件:就是發生的事情

事件驅動:就是發生了某件事情以後要處理的手段和過程

鼠標事件

onclick

鼠標單擊

ondblclick

鼠標雙擊

onmousedown

鼠標按鍵按下

onmouseup

鼠標按鍵擡起

onmousemove

鼠標在元素上移動

onmouseout

鼠標移出

Onmouseenter

鼠標移入

鍵盤事件

Onkeydown

鍵盤按鍵按下

Onkeyup

鍵盤按鍵擡起

onkeypress

鍵盤按鍵按住

 

 

  1. 事件和函數的關係
  2. 函數和循環結合打印九九乘法表
  3. 函數的好處

 

  1. 參數的聲明

function 函數名稱(參數列表){

    函數體中的代碼;

}

  1. 參數的傳遞

第二節:應用

  1. 編寫一個函數,計算兩個數字的和、差、積、商

要求:使用傳參的形式 

f1(num1,num2,op){

}

F1(1,2,’+’)

  1. 編寫一個函數,計算三個數字的大小,按從小到大順序輸出

F1(5,2,3) //  2 ,3 ,5

第三節: 

  1. 函數的兩種建立方式:聲明式和賦值式

直接聲明

function 函數名稱() {

    函數中要執行的代碼;

}

賦值式聲明

var x = function 函數名稱() {

    函數中要執行的代碼;

}

 

  1. JS的編譯和執行
  2. 變量的聲明提高

函數中聲明變量而且賦值,聲明部分會提高到函數中的第一行,賦值部分在原來的位置不變

 

 

  1. 形參和實參
  2. return關鍵字

第四節:應用

  1. 編寫任意個數字的求和、差、積、商的函數
  2. 編寫生成4位數字驗證碼的函數,並生成10次,同時將結果存入數組

第五節:綜合應用

  1. 編寫一個函數,計算任意兩個數字之間所能組成的奇數個數,數字必須是個位數

好比:

 計算0-3之間能組成的奇數個是012103132331

0,1,2 , 3

2.某個公司採用公用電話傳遞數據,數據是四位的整數,在傳遞過程當中是加密的,加密規則以下:每位數字都加上5,而後用除以10的餘數代替該數字,再將第一位和第四位交換,第二位和第三位交換,請編寫一個函數,傳入原文,輸出密文;

 

 

 

DAY5:函數(下)

 

第一節:精講

 

  1. 做用域

所謂做用域,其實就是指某個變量有效可用的範圍

  1. 局部做用域和全局做用域 (全局變量和局部變量)
  2. 遞歸函數

 

遞歸的概念

 

所謂遞歸,就是函數本身執行過程當中,調用本身自己的方式。

 

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

 

遞歸,是爲了使用最簡單的代碼解決類似的、重複處理的流程出現的。

 

遞歸的步驟:

 

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

 

        }

 

第二節:應用

 

  1. 利用遞歸求100的階乘
  2. 利用遞歸求斐波那契數列

指的是樣一個列:0112358132134……學上,斐波列以以下被以的方法定義:F(0)=0F(1)=1, F(n)=F(n-1)+F(n-2)n>=2n∈N*

 

列從第3項開始,每一都等於前兩之和。

 

n > 3 時,每項的值爲前兩項之和。即當n = 1 和 n = 2 時分別取值爲0、1

 

  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

fm,n   f(n,r)

 

第三節:

  1. 構造函數及對象類型(瞭解)

第四節:應用

  1. 編寫一個函數,輸入n爲偶數時,調用函數求1/2+1/4+...+1/n,當輸入n爲奇數時,調用函數求/1+1/3+...+1/n 
  2. 使用函數完成任意數字階乘的計算

要求:頁面輸入任意數字,點擊按鈕後計算階乘

 

練習

常見事件與函數的結合(可將信息打印在控制檯)

相關文章
相關標籤/搜索