本文實例講述了javascript匿名函數的用法。分享給大家供大家參考。具體分析如下:
摘要:
本文講解的是javascript最基礎也是最重要的東西--函數,之所以寫這篇文章,是因為面試的時候問到了,也算是溫故而知新了。
先上個例子,如果你看懂了,表示你已經理解了本文要講的。
function f() {return 10;}
return f();
function f() {return 20;}
var f = 30;
})();
console.log(f);
javascript高階程式設計中這樣描述函數--可以封裝任意多條語句,而且可以在任何地方、任何時候呼叫執行。之前介紹過了strict mode,嚴格模式對函數有一些限制:
① 不能把函數命名為eval或arguments
② 不能把參數命名為eval或arguments
③ 不能出現兩個命名參數同名的情況
發生以上情況就會導致語法錯誤,程式碼無法執行。
函數定義
函數定義分為三種
1、建構子
var fun = new Funciton();
function fun() {}
這三種方式都可以定義函數fun。
參數
程式碼如下:
function sayHi() {
}
透過存取arguments物件的length屬性來獲知有多少個參數。函數的length會傳回函數的參數個數。
注意:所有參數傳遞的都是值,不可能透過引用傳遞參數。
函數不能重載,只能重寫
複製程式碼function add(num) {
return num 100;
}
function add(num) {
return num 200;
var result = add(100) //300
注意:函數在執行完return語句之後停止並立即退出。
函數種類
程式碼如下:
如果呼叫的話,只需要fun()就可以。
匿名函數,顧名思義就是沒有函數名。例如
function() {}
函數調用是透過函數名稱來調用,匿名函數怎麼調用呢?一種是將匿名函數賦給一個變量,讓這個變數充當函數名。另一種是用()來調用,例如下面三種方法
1、(function() {return;}());
2、(function() {return;})();
3、function() {return;}();
範例:
alert(x y);
})(2,3);
//alert(5)
下面就來講講最上面的例子,這個例子裡面牽涉到閉包,後面會說
先定義一個變數f,然後賦值一個匿名函數,這裡呢要注意一點函數裡所有變數的定義都會被前置,所以匿名函數裡的執行順序是
var f = 30;
function f() {return 10;}
function f() {return 20;}
return f();
})();
希望本文所述對大家的javascript程式設計有所幫助。