JavaScript是一門廣泛使用的編程語言,在Web開發(fā)中被廣泛應(yīng)用。在JavaScript中,要了解函數(shù)的概念,就必須了解函數(shù)參數(shù)的概念。在函數(shù)中,形參和實(shí)參是非常重要的概念。
形參是一個函數(shù)定義中的變量,它是在函數(shù)定義時使用的變量。傳遞給函數(shù)的值稱為實(shí)參,實(shí)參是傳遞給函數(shù)的值。它們是相互配對的。
function showName(name) { console.log(name); }
在上面的代碼中,name
是形參。當(dāng)我們調(diào)用這個函數(shù)并傳遞一個實(shí)參時,函數(shù)將使用我們傳遞的值。
showName("Amy"); // 輸出:"Amy"
在上面的代碼中,我們傳遞了一個字符串類型的參數(shù)“Amy”作為實(shí)際參數(shù)。這個實(shí)參被傳給函數(shù)的形參“name”,然后函數(shù)打印出這個傳遞進(jìn)來的值。
有些函數(shù)不需要參數(shù),例如下面的函數(shù):
function greeting() { console.log("Hello!"); }
在這個例子中,函數(shù)沒有編寫形式參數(shù),所以函數(shù)只輸出一條預(yù)設(shè)信息。
有時候,我們需要為函數(shù)提供一個默認(rèn)值,在沒有傳遞參數(shù)時使用它。在ES6中,我們可以通過為形參分配默認(rèn)值來實(shí)現(xiàn)這一功能:
function showName(name = "John") { console.log(name); }
在上面的代碼中,我們給name
分配了一個默認(rèn)值“John”。如果我們不提供實(shí)際的參數(shù),函數(shù)就使用默認(rèn)值作為前綴:
showName(); // 輸出:"John"
函數(shù)的實(shí)際參數(shù)數(shù)量可以不等于形式參數(shù)的數(shù)量。在這種情況下,只有傳遞的實(shí)參才會有值,未傳遞的形參將為undefined
:
function fullAddress(city, state) { console.log(city + ", " + state); } fullAddress("New York"); // 輸出:"New York, undefined"
上面的代碼中,我們僅傳遞了一個參數(shù),所以state
形參未被設(shè)置。在輸出中,state
顯示為undefined
。
總結(jié)一下,在函數(shù)中,形參和實(shí)參是彼此匹配的。形參是在函數(shù)定義時使用的變量,而實(shí)參是在將值傳遞給函數(shù)時使用的實(shí)際值。如果在調(diào)用函數(shù)時未傳遞實(shí)參,可以使用默認(rèn)值。