1. 程式人生 > >學習 JavaScript (六)核心概念:函數

學習 JavaScript (六)核心概念:函數

圖片 就是 數組 return sci 有一個 了解 而不是 函數

基本知識

函數對於我們來說,不算陌生的東西。中學就已經有了函數的概念,比如:

y = f(x)

輸入一個數 x,能夠得到與之對應的一個數 y。也就是說,f(x) 的有一個返回值,這是函數在數學上的定義。但是在 JavaSciprt 中,我們把函數看成是發生器,在內部可以進行一系列運算,可以有返回值,也可以沒有返回值。

函數是用關鍵字 function 來聲明,後面跟一組參數以及函數體,基本的語法如下所示:

function 函數名字 (參數 1,參數 2,參數 3){
    函數體
}

如果一個函數有返回值,我們可以看到關鍵字 return 。在 return 後面發生的一切都沒有用了,執行完 return 函數立即退出。一個返回 Hello World 的示例:

function sayHello(arg1, arg2){
    return arg1 + arg2
    alert("貓咪")
}

sayHello("Hello", "World"); // 會返回 Hello World ,但是 "貓咪" 不會出現。

不用返回值,函數也可以運行的:

function sayHello(arg1, arg2){
    alert("我就不返回值")
}

sayHello("Hello", "World"); // 會彈提示框,而不是參數

函數要麽有返回值,要麽沒有返回值。像 return 後面不跟東西,是不推薦這麽幹的,這樣會導致調試困難。

關於參數

參數有很多有趣的地方,JavaScript 在定義函數的時候,標識符可以沒有,可以有很多個;在使用函數的時候,傳入的參數可以沒有,可以有很多個。

我們應該了解的:

  1. 參數不能命名成 eval 或者 arguments;
  2. 參數在函數內部是以數組的形式存在,我們可以訪問 argument 對象得到;
  3. 所有參數都是值,不可能通過引用傳遞參數;
  4. JavaScript 函數不能像 Java 那樣實現重載(兩個名字相同的函數卻是兩個不同的函數),後者會覆蓋前者。這是因為參數是一個數組,沒有函數簽名的說法。可以判斷參數的類型或者大小,return 不同的值,實現不完美的重載;
  5. 一般我們稱 JavaScript 的參數為形參,是因為參數的名字和傳入的值之間不受名稱的影響,有的語言在調用函數時,傳入的參數名稱必須和定義的標識符一致才可以調用。這是因為解析器不會校驗參數名,只關心參數的個數和相對位置。

技術分享圖片

歡迎大家關註微信公眾號:** 可視化技術( visteacher )**

不僅有前端和可視化,還有算法、源碼分析、書籍相送

個人網站:http://blog.kurryluo.com

各個分享平臺的 KurryLuo 都是在下。

用心學習,認真生活,努力工作!

學習 JavaScript (六)核心概念:函數