Javascript的函數型別:1、建構函式,使用new關鍵字定義呼叫的函數,預設返回時一個新物件;2、匿名函數,沒有實際名字的函數,不會造成全域性變數的汙染;3、閉包函數,具有存取另一個函數作用域中變數許可權的函數;4、動態函數,參數列和函數體是通過字串動態指定的函數。
本教學操作環境:windows10系統、javascript1.8.5版、Dell G3電腦。
1.建構函式
Javascript中建構函式是指使用new關鍵字定義呼叫的函數,其預設返回的是一個新物件,
2.匿名函數
Javascript中匿名函數是指沒有實際名字的函數,使用匿名函數不會造成全域性變數的汙染。
3.閉包函數
Javascript中閉包函數是指具有存取另一個函數作用域中變數許可權的函數,閉包函數常用於在函數的內部建立。
4.動態函數
Javascript中動態函數是指其參數列、函數體是通過字串動態指定的函數。
範例如下:
<script> function show(){ alert("第一個。。。"); } function show(str){ alert("第二個"); } function show(a,b){ alert("第三個。。。"); alert(a+":"+b); } </script> </head> <!-- 可變引數的函數: 在js中都是可變引數的函數 <!-- 1 函數雖然定義時是宣告成兩個引數,但呼叫時卻是可以傳入任意個 --> <!-- 2 每個函數中,存在一個 預設的陣列arguments ,裡面儲存著本次呼叫時傳入的所有實參 --> <body> <!-- 1, 可變引數的演示: --> <script> show();//當呼叫之後,會把前面的沖掉 //undefined:undefined show(111);//當呼叫之後,會把前面的沖掉 // 11:undefined show("a","b");//當呼叫之後,會把前面的沖掉//a:b show(1,2,3,4);//1:2 </script>
綜上的例子,Js當中的函數是不存在過載的。一定就通配所有的了,函數雖然定義時是宣告若干變數,但呼叫時卻是可以傳入任意個。每個函數中,存在一個 預設的陣列arguments ,裡面儲存著本次呼叫時傳入的所有實參。
匿名函數
<!DOCTYPE html> <html> <head> </head> <body> <!-- 演示JavaScript匿名函數 --> <script type="text/javascript"> var res =function(a,b){//注意是小寫func return a+b; };</span> alert("sum="+res(1,2));//sum=3 alert("res="+res("abc","def"));//res=abcdef </script> </body> </html>
動態函數
簡介:利用Js當中內建的物件Function來構造一個函數,構造方法中的第1個引數是「形參」,第2個引數是「函數體」。
<span style="font-size:18px;"><!DOCTYPE html> <html> <head> <title>DTfunc.html</title> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="this is my page"> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <!--<link rel="stylesheet" type="text/css" href="./styles.css">--> </head> <body> <!-- 利用Js當中內建的物件Function來構造一個函數,構造方法中的第1個引數是「形參」,第2個引數是「函數體」。 --> <!-- 該思想類似於Java當中的類反射。我們平時寫函數時通常不用,但關鍵的地方一寫,整個程式的功能會變得很活 --> <script> var res=new Function("x,y","var sum=0;sum=x+y;return sum;") var sum=res(12,34);//46 var sum=res("abc","bss");//abcbss alert("sum="+sum); </script> </body> </html></span>
【相關推薦:、】
以上就是Javascript的函數型別有哪些的詳細內容,更多請關注TW511.COM其它相關文章!