js 通過function來定義函數


什么是函數:

函數是完成某一功能的代碼段。

函數是可重復執行的代碼段。

函數方便管理和維護。

自定義一個函數:

通過function關鍵字來定義一個函數。

語法:

  function 函數名稱([可以帶參數,也可以不帶參數,可以帶一個參數,可以帶多個參數]){

     執行的代碼段;

      return返回值;

1 <script>
2        alert(demo())         //這個函數是一個全局函數,調用函數的時候可以在函數聲明前調用,或者函數聲明后調用都可以
3        function demo(){      //通過function關鍵字來聲明一個函數
4            alert("this is a function")    //alert()是執行的一個代碼段
5            return 1                       //return是這個函數的返回值
6        }         
7 </script>

 注意:

涵數名稱不要包含特殊字符。

函數名字名稱最好含義明確。

函數名稱最好遵循駝峰標記法或者下划線法。

函數名稱嚴格區分大小寫。

涵數名稱如果重復會產生覆蓋。此例有演示代碼:

 

 1 <script>
 2       //同名函數會被第最后一個覆蓋
 3       function demo(){
 4           alert("這是第一個demo1")
 5       }
 6       function demo(){
 7           alert("這是第二個demo2")
 8       }
 9       demo()         //=>輸出結果為 這是第二個demo2
10 </script>

 

函數可以有參數也可以沒有參數,可以有一個參數也可以有多個參數

參數的注意:

如果定義了參數,在調用函數時候沒有傳值,默認設置為undefined 此處有演示代碼

 

1 <script>
2       function demo(num1,num2){
3           return  num1+num2    //num1和num2進行了隱式轉換,undefined轉換成number類型,結果為NaN,兩個NaN相加為NaN
4       }
5       alert(demo())  //=>返回值為NaN
6 </script>

 

如果在調 用函數時如果傳遞參數超過了定義時的參數,js將會默認忽略掉多余的參數 此處有演示代碼

 

1 <script>
2           function demo(num1,num2){
3                return num1+num2
4           }
5           alert(demo(1,2,3,4,5)) //=>3 因為多余的參數將會被js自動忽略
6 </script>

 

js中不能直接寫默認值,可以通過arguments對象來實現默認值效果,此處有演示代碼:

 

 1 <script>
 2     //如果在參數里直接設置值,結果會報錯,比如(num1=1,num2=2),這種情況下就會報錯
 3     function demo(num1,num2) {
 4       /*  num1= num1 != undefined?num1:1;   //這個是用三元運算符來設置默認參數
 5         num2= num2 != undefined?num2:3;*/
 6         num1 = num1 || 1    //當如果調用函數傳參的話則使用傳參的參數,否則用后面的默認參數
 7         num2 = num2 || 3
 8         return num1+num2
 9     }
10     alert(demo(1,4))  //=>5 這個是設置了參數
11     alert(demo())    //=>4  這個是用了默認設置的參數
12 </script>

 

 

 

 

 

函數通過return加返回值,如果沒有return,默認返回undefined,此處有演示代碼:

 

1 <script>
2        function demo(){
3            alert("這個是一個有返回值的函數,可以返回所有原始類型的值")
4            return "如果return后面再做什么操作都沒起任何效果,遇到第一個return則直接返回值"
5            alert("沒有任何效果")    //第一個return后面的執行語句和
6            return false           //返回值都不起任何作用
7        }
8        alert(demo())   //調用時,第一個先彈出alert語句,然后再返彈出返回這個函數的值
9 </script>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM