js--3.物件-3.函式
1 函式 function
1.1 概念
函式也是一個物件
函式中可以封裝一些功能(程式碼),在需要時可以執行這些功能(程式碼),函式中可以儲存一些程式碼在需要的時候呼叫
使用typeof檢查一個函式物件時,會返回function
1.2 Mianji函式物件和mainji()函式返回值
1.3 立即執行函式
函式定義完,立即被呼叫,這種函式叫做立即執行函式,立即執行函式往往只會執行一次
2 建立函式物件
2.1 建構函式建立(瞭解)
//可以將要封裝的程式碼以字串的形式傳遞給建構函式
var fun= newFunction("console.log('Hello這是我的第一個函式
我們在實際開發中很少使用建構函式來建立一個函式物件
2.2 函式宣告
基本語法如下:
function functionName([parameter1,parameter2,……]){
statements;
returnexpression;]
}
functionName:必選,用於指定函式名。在同一個頁面中,函式名是唯一的,區分大小寫。parameter:可選,用於指定引數列表。當使用多個引數時,引數間使用逗號進行分隔。statements:必選,是函式體。
expression:可選,用於返回函式值。
2.3 函式表示式
本質建立一個匿名函式,並將值賦給變數
注意結尾分號
3 函式的呼叫
3.1 概念
封裝到函式中的程式碼不會立即執行,函式中的程式碼會在函式呼叫的時候執行
3.2 直接呼叫
呼叫函式 :當呼叫函式時,函式中封裝的程式碼會按照順序執行
語法:函式物件() fun();
3.3 事件呼叫
4 內建函式
4.1 總述
4.2 parseInt()函式
該函式主要將首位為數字的字串轉化成數字,如果字串不是以數字開頭,那麼將返回NaN。(數字+字串…)
語法:
parseInt(StringNum , n )
StringNum:需要轉換為整型的字串。
n:提供在2~36之間的數字表示所儲存數字的進位制數。(可選)
4.3 parseFloat()函式
該函式主要將首位為數字的字串轉化成浮點型數字,如果字串不是以數字開頭,那麼將返回NaN。(數字+字串…)
語法:
parseFloat(StringNum)
引數StringNum表示需要轉換為浮點型的字串。
4.4 isNaN()函式
該函式主要用於檢驗某個值是否為NaN。
語法:
isNaN(Num)
引數Num表示需要驗證的數字。
說明:
如果引數Num為NaN,函式返回值為true,如果引數Num不是NaN,函式返回值為false。
4.5 isFinite()函式
該函式主要用於檢驗某個表示式是否為無窮大。
語法:
isFinite(Num)
引數Num表示需要驗證的數字。
4.6 encodeURI()函式
該函式主要用於返回一個URI字串編碼後的結果。
語法:
encodeURI(url)
引數url表示需要轉化為網路資源地址的字串。
說明:
URI與URL都可以表示網路資源地址,URI比URL表示範圍更加廣泛,但在一般情況下,URI與URL可以是等同的。encodeURI()函式只對字串中有意義的字元進行轉義。例如將字串中的空格轉化為“%20”。
4.7 decodeURI()函式
該函式主要用於將已編碼為URI的字串解碼成最初的字串並返回。
語法:
decodeURI(url)
引數url表示需要解碼的網路資源地址。
說明:
decodeURI函式可以將使用encodeURI()轉碼的網路資源地址轉化為字串並返回,也就是說decodeURI()函式是encodeURI()函式的逆向操作。
5 巢狀函式
所謂巢狀函式即在函式內部再定義一個函式,這樣定義的優點在於可以使內部函式輕鬆獲得外部函式的引數以及函式的全域性變數等。
語法:
function functionName(parameters1,parameters2) {//定義外部函式
function InnerFunction() {//定義內部函式
somestatements;
}
}
6 遞迴函式
所謂遞迴函式就是函式在自身的函式體內呼叫自身,使用遞迴函式時一定要當心,處理不當將會使程式進入死迴圈,遞迴函式只在特定的情況下使用,比如處理階乘問題。
語法:
functionfunctionName(parameters1) {
functionName(parameters2);
}