您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關如何理解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)
· 再寫不滿足條件的時候我們的遞歸處理
function add(n) {
// 傳遞進來的是 1 // 當 n === 5 的時候要結束 if (n === 5) {
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 內置給我們的構造函數,用于創建一個對象使用的
看完上述內容,你們對如何理解JavaScript中的遞歸函數有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。