中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何理解JavaScript中的遞歸函數

發布時間:2021-09-30 16:49:18 來源:億速云 閱讀:126 作者:柒染 欄目: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)

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

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中的遞歸函數有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

锦州市| 临清市| 大关县| 芮城县| 定南县| 河津市| 新源县| 舟曲县| 焦作市| 哈尔滨市| 澳门| 湘潭市| 柏乡县| 涿鹿县| 古蔺县| 平原县| 晴隆县| 密山市| 通渭县| 濮阳县| 迁安市| 枣庄市| 桂东县| 邻水| 且末县| 积石山| 迁西县| 页游| 金寨县| 竹溪县| 屏南县| 准格尔旗| 湘西| 子长县| 兴安县| 高密市| 海南省| 辽宁省| 乾安县| 宁乡县| 安图县|