函數在javascript中享受着一等成員的地位(另一種爲全局變量)。我們能使用內建函數和自定義函數。
1、內建函數:(僅列出標準度高的及常用函數)
函數 | 描述 | FF | IE |
---|---|---|---|
decodeURI() | 解碼某個編碼的 URI。 | 1 | 5.5 |
encodeURI() | 把字符串編碼爲 URI。 | 1 | 5.5 |
eval() | 計算 JavaScript 字符串,並把它作爲腳本代碼來執行 | 1 | 3 |
isNaN() | 檢查某個值是否是數字。 | 1 | 3 |
parseFloat() | 解析一個字符串並返回一個浮點數。 | 1 | 3 |
parseInt() | 解析一個字符串並返回一個整數。 | 1 | 3 |
2、聲明式函數:
格式:
//1、無返回類型聲明 //2、參數只有名稱,無類型聲明 function 函數名(參數1,參數2...){ 參數1.操作 //這種陷阱由程序員解決,與java不同 return xxxx; } //函數調用 //調用時如有返回值,可以對變量進行賦值 //實參數量與形參可以不一致(但風險需要身負) var m= 函數名(值1...); //將函數註冊給事件源 button.onclick=函數名;//當事件發生時,自動調用(回調) //將函數做爲參數傳遞(回調模式) 數組.sort(函數名);//此時排序將會自動調用函數,做爲排序的規則(此規則由我們定義函數時實現)
3、字面量式函數(需要重點掌握)
//button.onclick=function(){//事件處理}; 數組.sort(function(a,b){ //排序規則 });
4、函數的傳值和傳引用的問題:
function ff(a,b){ a="123"; b[0]="xx"; } var s="abc"; var ss=["aa","bb"]; ff(s,ss); alert(s); alert(ss); //答案: abc //說明爲傳值 xx,bb //爲傳引用 //結論:當爲基本類型爲傳值,對象類型傳引用