JavaScript內建物件之Function
阿新 • • 發佈:2018-11-19
函式是一個可以重複執行的程式碼段,Function 物件可以表示開發者定義的任何函式,函式實際上就是功能完整的物件。
一、函式的定義
- 由關鍵字function 定義
- 函式名的定義規則與識別符號一致,大小寫敏感
- 可以使用變數、常量或表示式作為函式的引數
- 有返回值必須使用 return(return 語句也可以終止函式的執行)
function 函式名([引數]){ 函式體; return 返回值; }
二、函式的呼叫
- 函式可以通過其名字加上括號中的引數進行呼叫
- 函式如果有多個引數,則引數之間用逗號隔開
如果函式有返回值,則可以宣告變數接收即可
var result = sum(22,33);
alert(result); //55
function sum(num1,num2){
return num1+num2;
}
三、arguments物件
- arguments 是一種特殊的物件,在函式程式碼中,表示函式的引數陣列
- 在函式程式碼中,可以使用 arguments 訪問所有引數
- arguments.length:函式的引數個數
- arguments[i]:第 i 個引數
function methods(){ alert(arguments.length); //3 alert(arguments[0]); //12 } methods(12,23,34);
四、使用Function 物件建立函式
- 使用Function 物件直接建立函式
var functionName = new Function(arg1,...argN,functionBody);
var add = new Function("x","y","return(x+y);");
var result = add(2,3);
alert(result); //5
alert(add); //彈出方法的文字
/*function anonymous(x,y
) {
return(x+y);
}*/
五、匿名函式
- 建立匿名函式
var func = function(arg1,...argN){ functionBody; }
var add = function(x,y){
return x+y;
};
var result = add(2,3);
alert(result); //5
alert(add) //彈出方法的文字
/*
function(x,y){
return x+y;
}
*/
六、全域性函式概述
- 全域性函式可用於所有的JavaScript物件
- 常用的全域性函式有:parseInt/parseFloat、isNaN、eval、decodeURI/encodeURI 等
1. eval函式
eval 函式用於計算某個字串,以得到結果;或者用於執行其中的JavaScript 程式碼
- 只接受原始字串作為引數
如果引數中沒有合法的表示式和與語句,則丟擲異常
var str = "2+3";
alert(str); //2+3
alert(eval(str)); //5
var str1 = "alert('hello');";
eval(str1); //hello
2. encodeURI 與 decodeURI
- encodeURI():把字串作為 URI 進行編碼
decodeURI():對 encodeURI() 函式編碼過的URI進行解碼
var str = "http://wwww.baidu.com";
var e1 = encodeURI(str);
alert(e1);
var e2 = decodeURI(e1);
alert(e2);