好程式員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 内置給我們的構造函數,用于建立一個對象使用的