標籤:
一、函數的調用
1、通過其他的元素事件進行觸發
<script type="text/javascript"> function box() { //沒有參數的函數 alert(‘只有函數被調用,我才會被之執行‘); }</script><body> <input type="button" value="點我" onclick="box()"/> </body>
2、將函數賦值給一個變數
function sum(num) { return num + 10; } var box = sum; alert(box(2));
function getSum(){ return 100; } //var sum = getSum();//表示將getSum函數的傳回值賦給sum變數 var sum = getSum; //getSum本身是一個函數名,而函數本身在js中就是一個對象,getSum就是這個函數對象的引用, //將getSum這個引用的地址賦給了sum,這時sum也指向了這個函數對象,相當於這個函數有兩個函數名 alert("sum:"+sum);//列印結果是這個函數的定義格式,也就是將函數本體列印出來了 alert("sum:"+sum());//列印結果是這個函數的返回
二、作為值得函數
1、ECMAScript 中的函數名本身就是變數,所以函數也可以作為值來使用
2、就是說,不僅可以像傳遞參數一樣把一個函數傳遞給另一個函數,而且可以將一個函數作為另一個函數的結果返回。
function box(sum, num) { return sum+num; }function sum(num) { return num + 10;}var result = box(sum(10), 10);//將第二個函數的傳回值傳遞給第一個函數的第一個參數alert(result);
function box(sum,num) { return sum(num); } function sum(num){ return num + 10; } var result = box(sum,10); //傳遞函數到另一個函數裡 實際上執行的還是sum這個方法 alert(result);
JavaScript的函數的調用以及作為值的函數