<!DOCTYPE html><html><head><meta charset="UTF-8"><title>Insert title here</title><script type="text/javascript">/*I總結:1.函數名可以做變數使用,可以賦值,可以傳值2.函數名當參數,傳遞給另一個函數 *///==================js中函數的兩種定義方式和函數變數賦值================//在javascript中定義一個函數就可以理解成定義了一個變數//js中的變數時弱類型的哦。//----------1//function add1(){//alert("add1");//}//那麼函數作為一個變數,就可以作為參數,是add1指向了這個代碼塊在記憶體中儲存的首地址 var add1=new Function("alert('add1');");//--------2//以上1,2的寫法是完全等價的,是js中聲明函數的兩種方式//實際上,是add1指向了這段函數代碼塊,在記憶體中儲存的首地址。//至於具體如何儲存,堆或棧,這裡不多做研究了。var addtt=add1;//函數名當變數使用,可以賦值,也可以傳值//addtt 指向了函數體addtt();//==================js中函數的兩種定義方式和函數變數賦值================//==================將函數變數作為參數傳遞===========================//基本格式:function add2(fun){//將函數名作為參數傳遞fun();}add2(add1);//--------------------------------------//函數名作參數使用,同時接受參數的情況示範的啦function add(a){return n+10;}//a:數字,fun:函數function addTest(a,fun){ var t=fun(a); return t;}var tt=addTest(22,add);//這樣的寫法也是ok的啦alert(tt);//==================將函數變數作為參數傳遞===========================</script></head><body></body></html>