JavaScript内置对象之Function

版权声明:本文为博主原创文章,未经博主允许不得转载。 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);

猜你喜欢

转载自blog.csdn.net/qq_26765193/article/details/83340847
今日推荐