版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_26765193/article/details/83340847
函数是一个可以重复执行的代码段,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);