天天看點

web前端教程之JavaScript學習筆記之遞歸函數

  好程式員web前端教育訓練分享JavaScript學習筆記之遞歸函數,什麼是遞歸函數在程式設計世界裡面,遞歸就是一個自己調用自己的手段,遞歸函數: 一個函數内部,調用了自己,循環往複

// 下面這個代碼就是一個最簡單的遞歸函數// 在函數内部調用了自己,函數一執行,就調用自己一次,在調用再執行,循環往複,沒有止盡function fn() {

fn()}fn()

其實遞歸函數和循環很類似

需要有初始化,自增,執行代碼,條件判斷的,不然就是一個沒有盡頭的遞歸函數,我們叫做 死遞歸

簡單實作一個遞歸

我們先在用遞歸函數簡單實作一個效果

需求: 求 1 至 5 的和

先算 1 + 2 得 3

再算 3 + 3 得 6

再算 6 + 4 得 10

再算 10 + 5 得 15

結束

開始書寫,寫遞歸函數先要寫結束條件(為了避免出現 “死遞歸”)

function add(n) {

// 傳遞進來的是 1 // 當 n === 5 的時候要結束 if (n === 5) {

return 5           

}}

add(1)

再寫不滿足條件的時候我們的遞歸處理

return 5           

} else {

// 不滿足條件的時候,就是目前數字 + 比自己大 1 的數字    return n + add(n + 1)           

}}add(1)

預習:提前了解一下對象

對象是一個複雜資料類型

其實說是複雜,但是沒有很複雜,隻不過是存儲了一些基本資料類型的一個集合

var obj = {

num: 100,

str: 'hello world',

boo: true}

這裡的 {} 和函數中的 {} 不一樣

函數裡面的是寫代碼的,而對象裡面是寫一些資料的

對象就是一個鍵值對的集合

{} 裡面的每一個鍵都是一個成員

也就是說,我們可以把一些資料放在一個對象裡面,那麼他們就互不幹擾了

其實就是我們準備一個房子,把我們想要的資料放進去,然後把房子的位址給到變量名,當我們需要某一個資料的時候,就可以根據變量名裡面存儲的位址找到對應的房子,然後去房子裡面找到對應的資料

建立一個對象

字面量的方式建立一個對象

// 建立一個空對象var obj = {}

// 像對象中添加成員obj.name = 'Jack'obj.age = 18

内置構造函數的方式建立對象

// 建立一個空對象var obj = new Object()

// 向對象中添加成員obj.name = 'Rose'obj.age = 20

Object 是 js 内置給我們的構造函數,用于建立一個對象使用的

繼續閱讀