JavaScript函數(shù)的使用詳解
1. 聲明函數(shù)
//聲明函數(shù) function 函數(shù)名() { //函數(shù)體代碼 }
function是聲明函數(shù)的關(guān)鍵字,必須小寫由于函數(shù)一般是為了實現(xiàn)某個功能才定義的,所以通常我們將函數(shù)名命名為動詞,比如getSum
2. 調(diào)用函數(shù)
//調(diào)用函數(shù) 函數(shù)名(); //通過調(diào)用函數(shù)名來執(zhí)行函數(shù)體代碼
聲明函數(shù)本身并不會執(zhí)行的代碼,只有調(diào)用函數(shù)時才會執(zhí)行函數(shù)體代碼。
3. 函數(shù)的參數(shù)
在聲明函數(shù)時,可以在函數(shù)名稱后面的小括號中添加一些參數(shù),這些參數(shù)被稱為形參,而在調(diào)用該函數(shù)時,同樣也需要傳遞相應(yīng)的參數(shù),這些參數(shù)被稱為實參。
參數(shù) | 說明 |
---|---|
形參 | 形式上的參數(shù) 函數(shù)定義的時候 傳遞的參數(shù) 當前并不知道是什么 |
實參 | 實際上的參數(shù) 函數(shù)調(diào)用的時候傳遞的參數(shù) 實參是傳遞給形參的 |
參數(shù)的作用:在函數(shù)的內(nèi)部某些值不能固定,我們可以通過參數(shù)在調(diào)用函數(shù)時傳遞不同的值進去。
函數(shù)形參和實參個數(shù)不匹配問題
參數(shù)個數(shù) | 說明 |
---|---|
實參個數(shù)等于形參個數(shù) | 輸出正確結(jié)果 |
實參個數(shù)多于形參個數(shù) | 只取到形參的個數(shù) |
實參個數(shù)少于形參個數(shù) | 多的形參定義為undefined,結(jié)果為NaN |
function sum(num1,num2) { console.log(num1+num2); } sum(100,200); //實參個數(shù)等于形參個數(shù) 輸出正確結(jié)果 sum(100,400,500,700); //實參個數(shù)多于形參個數(shù) 只取到形參的個數(shù) sum(200); //實參個數(shù)少于形參個數(shù) 多的形參定義為undefined,結(jié)果為NaN
在JavaScript中,形參的默認值是undefined 。
4. 函數(shù)的返回值
經(jīng)常用return返回函數(shù)值
return終止函數(shù)
function add(num1,num2) { //函數(shù)體 return num1+num2; //注意:return后的代碼不執(zhí)行 alert('前面有return,我不會被執(zhí)行'); } var resNum = add(21,6); //調(diào)用函數(shù),傳入兩個實參,并通過resNum接收函數(shù)返回值 alert(resNum); //27
如果函數(shù)有return,則返回return后面的值;如果沒有return,則返回 undefined 。
break,continue,return的區(qū)別
break
:結(jié)束當前的循環(huán)體(如for、while)continue
:跳出本次循環(huán),繼續(xù)執(zhí)行下次循環(huán)(如for、while)return
:不僅可以退出循環(huán),還能夠返回return語句中的值,同時還可以結(jié)束當前的函數(shù)體內(nèi)的代碼。
5. arguments的使用
當我們不確定有多少個參數(shù)傳遞的時候,可以用arguments來獲取,在JavaScript中,arguments實際上它是當前函數(shù)的一個內(nèi)置對象。所有函數(shù)都內(nèi)置了一個arguments對象,arguments對象中存儲了傳遞的所有實參。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <script> function fn() { console.log(arguments); //里面存儲了所有傳遞過來的實參 console.log(arguments.length); console.log(arguments[2]); //可以按照數(shù)組的方式遍歷arguments for (var i = 0; i < arguments.length; i++) { console.log(arguments[i]); } } fn(1, 2, 3); fn(1, 2, 3, 4, 5); //偽數(shù)組 并不是真正意義上的數(shù)組 //1. 具有數(shù)組的length 屬性 //2. 按照索引的方式進行存儲的 //3. 它沒有真正數(shù)組的一些方法 如pop() push()等等 </script> </head> <body> </body> </html>
6. 函數(shù)可以調(diào)用另外一個函數(shù)
function fn1() { console.log(111); fn2(); console.log('fn1'); } function fn2() { console.log(222); console.log('fn2'); } fn1();
7. 函數(shù)的兩種聲明方式
//1. 利用函數(shù)關(guān)鍵字自定義函數(shù)(命名函數(shù)) function fn() { } fn(); //2. 函數(shù)表達式(匿名函數(shù)) //var 變量名 = function() {}; var fun = function(aru) { console.log('我是函數(shù)表達式'); console.log(aru); } fun('FG'); //(1) fun是變量名 不是函數(shù)名 //(2) 函數(shù)表達式聲明方式跟聲明變量差不多,只不過變量里面存的是值 而函數(shù)表達式里面存的是函數(shù) //(3) 函數(shù)表達式也可以進行傳遞參數(shù)
總結(jié)
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
1. 聲明函數(shù)
//聲明函數(shù) function 函數(shù)名() { //函數(shù)體代碼 }
function是聲明函數(shù)的關(guān)鍵字,必須小寫由于函數(shù)一般是為了實現(xiàn)某個功能才定義的,所以通常我們將函數(shù)名命名為動詞,比如getSum
2. 調(diào)用函數(shù)
//調(diào)用函數(shù) 函數(shù)名(); //通過調(diào)用函數(shù)名來執(zhí)行函數(shù)體代碼
聲明函數(shù)本身并不會執(zhí)行的代碼,只有調(diào)用函數(shù)時才會執(zhí)行函數(shù)體代碼。
3. 函數(shù)的參數(shù)
在聲明函數(shù)時,可以在函數(shù)名稱后面的小括號中添加一些參數(shù),這些參數(shù)被稱為形參,而在調(diào)用該函數(shù)時,同樣也需要傳遞相應(yīng)的參數(shù),這些參數(shù)被稱為實參。
參數(shù) | 說明 |
---|---|
形參 | 形式上的參數(shù) 函數(shù)定義的時候 傳遞的參數(shù) 當前并不知道是什么 |
實參 | 實際上的參數(shù) 函數(shù)調(diào)用的時候傳遞的參數(shù) 實參是傳遞給形參的 |
參數(shù)的作用:在函數(shù)的內(nèi)部某些值不能固定,我們可以通過參數(shù)在調(diào)用函數(shù)時傳遞不同的值進去。
函數(shù)形參和實參個數(shù)不匹配問題
參數(shù)個數(shù) | 說明 |
---|---|
實參個數(shù)等于形參個數(shù) | 輸出正確結(jié)果 |
實參個數(shù)多于形參個數(shù) | 只取到形參的個數(shù) |
實參個數(shù)少于形參個數(shù) | 多的形參定義為undefined,結(jié)果為NaN |
function sum(num1,num2) { console.log(num1+num2); } sum(100,200); //實參個數(shù)等于形參個數(shù) 輸出正確結(jié)果 sum(100,400,500,700); //實參個數(shù)多于形參個數(shù) 只取到形參的個數(shù) sum(200); //實參個數(shù)少于形參個數(shù) 多的形參定義為undefined,結(jié)果為NaN
在JavaScript中,形參的默認值是undefined 。
4. 函數(shù)的返回值
經(jīng)常用return返回函數(shù)值
return終止函數(shù)
function add(num1,num2) { //函數(shù)體 return num1+num2; //注意:return后的代碼不執(zhí)行 alert('前面有return,我不會被執(zhí)行'); } var resNum = add(21,6); //調(diào)用函數(shù),傳入兩個實參,并通過resNum接收函數(shù)返回值 alert(resNum); //27
如果函數(shù)有return,則返回return后面的值;如果沒有return,則返回 undefined 。
break,continue,return的區(qū)別
break
:結(jié)束當前的循環(huán)體(如for、while)continue
:跳出本次循環(huán),繼續(xù)執(zhí)行下次循環(huán)(如for、while)return
:不僅可以退出循環(huán),還能夠返回return語句中的值,同時還可以結(jié)束當前的函數(shù)體內(nèi)的代碼。
5. arguments的使用
當我們不確定有多少個參數(shù)傳遞的時候,可以用arguments來獲取,在JavaScript中,arguments實際上它是當前函數(shù)的一個內(nèi)置對象。所有函數(shù)都內(nèi)置了一個arguments對象,arguments對象中存儲了傳遞的所有實參。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <script> function fn() { console.log(arguments); //里面存儲了所有傳遞過來的實參 console.log(arguments.length); console.log(arguments[2]); //可以按照數(shù)組的方式遍歷arguments for (var i = 0; i < arguments.length; i++) { console.log(arguments[i]); } } fn(1, 2, 3); fn(1, 2, 3, 4, 5); //偽數(shù)組 并不是真正意義上的數(shù)組 //1. 具有數(shù)組的length 屬性 //2. 按照索引的方式進行存儲的 //3. 它沒有真正數(shù)組的一些方法 如pop() push()等等 </script> </head> <body> </body> </html>
6. 函數(shù)可以調(diào)用另外一個函數(shù)
function fn1() { console.log(111); fn2(); console.log('fn1'); } function fn2() { console.log(222); console.log('fn2'); } fn1();
7. 函數(shù)的兩種聲明方式
//1. 利用函數(shù)關(guān)鍵字自定義函數(shù)(命名函數(shù)) function fn() { } fn(); //2. 函數(shù)表達式(匿名函數(shù)) //var 變量名 = function() {}; var fun = function(aru) { console.log('我是函數(shù)表達式'); console.log(aru); } fun('FG'); //(1) fun是變量名 不是函數(shù)名 //(2) 函數(shù)表達式聲明方式跟聲明變量差不多,只不過變量里面存的是值 而函數(shù)表達式里面存的是函數(shù) //(3) 函數(shù)表達式也可以進行傳遞參數(shù)
總結(jié)
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
javascript 折半查找字符在數(shù)組中的位置(有序列表)
折半查找字符在數(shù)組中的位置(有序列表),需要的朋友可以參考下。2010-12-12Bootstrap學(xué)習筆記之css樣式設(shè)計(2)
這篇文章主要為大家詳細介紹了Bootstrap學(xué)習筆記之css樣式設(shè)計,感興趣的小伙伴們可以參考一下2016-06-06詳解javascript中對數(shù)據(jù)格式化的思考
本篇文章主要介紹了詳解javascript中對數(shù)據(jù)文本格式化的思考 ,具有一定的參考價值,有興趣的可以了解一下。2017-01-01