標籤:style blog http io color ar java sp div
定義函數的三種方法:
1.關鍵字法
function fnMethodName(x) { alert(x);}
2.字面量法
var fnMethodName = function (x) { alert(x);}
3.Function()建構函式
var fnMethodName = new Function(‘x‘, ‘alert(x);‘)
上面三種方法定義了同一個方法函數fnMethodName,第1種就是最常用的方法,後兩種都是把一個函數複製給變數fnMethodName,而這個函數是沒有名字的,即匿名函數。
4.定義匿名函數
<body onload="alert(‘http://www.baidu.com/‘);"> <script type="text/javascript"> void function() { alert(‘彈出框‘); }(); </script> </body> 二寫法<body onload="alert(‘http://www.baidu.com/‘);"> <script type="text/javascript"> (function() { alert(‘彈出框‘); })(); </script> </body>
沒有函數名的函數,這就引申了如何去調用一個匿名函數的問題了。
小括弧調用
為什麼這種方法能成功調用呢?
小括弧的作用:
小括弧能把我們的運算式組合分塊,並且每一塊,也就是每一對小括弧,都有一個傳回值。這個傳回值實際上也就是小括弧中運算式的傳回值。
所以,當我們用一對小括弧把匿名函數括起來的時候,實際上小括弧對返回的,就是一個匿名函數的Function對象。
因此,小括弧對加上匿名函數就如同有名字的函數般被我們取得它的引用位置了。所以如果在這個引用變數後面再加上參數列表,就會實現普通函數的調用形式。
JS函數定義與匿名函數的調用