JS总结——函数

本文详细介绍了JavaScript函数的基础概念,包括定义、调用、返回值、参数处理等。并通过多个实例展示了如何使用回调函数、call和apply方法,以及自调函数和私有函数的特点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

定义

语法:

function  函数名([参数1,参数2 ... 参数n]){
    语句
}

说明:

[ ]里的内容不是必须的,是可选的。


调用

语法:

函数名([参数1,参数2,...参数n])


返回值 return

  1. 函数会在执行完return语句后停止并立即退出。

  2. 任何函数通过return语句,把函数内部的值返回出来。

    然后就可以通过API对向页面输出,或进行其他操作。

  3. return也可以不带任何返回值,用于提前停止函数执行,又不需要返回值得情况。


实例:

function add(num1,num2){
    var sum=num1+num2;
    return sum;
}

//向页面输出
document.write(add(3,5));

//保存在变量里,等待被调用
var stt = add(-1,-9);


参数 —— arguments

JS中的参数在内部用一个数组来表示,在函数内部可以通过 arguments对象访问这个数组参数。

注意:

  1. arguments对象只是与数组类似,并不是Array实例。

  2. 通过arguments.length[ ]获取参数个数

  3. 3.

实例1:

function add(num1,num2){
    console.log(arguments[1]);  //索引从0开始
}

add(5,10);  //10

实例2:

求平均值

function getArg(){
    //求和
    var sum = 0;
    for( var i = 0; i < arguments.length; i++){
        sum+=arguments[i];
    }
    //把平均值return出去
    return sum/arguments.length;
}

var avg = getArg(15,26548,1565,5256,15485);
console.log(avg);


回调函数 callback

函数1作为主函数的参数,并且在主函数执行完之后执行函数1,这就称作回调函数。

如下所示:

    function add(x,y){
        alert("我先显示");
        return x()+y();
    }

    function 回调函数1(){
        return 2;
    }

    function 回调函数2(){
        return 3;
    }

    alert(add(回调函数1,回调函数2));


call( )

调用一个函数,替换当前函数。

语法:

新函数名称.call(被替代的函数名称,参数1,参数2,...参数n)


实例:


function add(a,b){
    return a+b;
}

function sub(a,b){
    return a-b;
}


alert(add.call(sub,5,10));  // 15

最终执行的add函数,sub函数被替换成add函数了。


apply( )

和call( )不同的是,参数用中括号[ ]括起来了。


语法:

新函数名称.call(被替代的函数名称,[参数1,参数2,...参数n])


实例:

function add(a,b)  
{  
    alert(a+b);  
}  
function sub(a,b)  
{  
    alert(a-b);  
}  

add.apply(sub,[3,1]);   


自调函数

特点是:

  1. 立刻会被执行,只会执行一次。

  2. 不会产生全局变量。


语法:

(
function(){

})();


实例:

(   
    function(a,b){
        alert(a+b);
    }
)(3,5);


私有函数

父函数体内调用子函数,从外部可以调用父函数,但是不能调用子函数。

语法:

function father(参数){
    var son = function(参数)return 代码块;

    }
    return son(参数);
}


实例:

function a(param){
    function b(param1){
        return param1+10;
    };

    return '在a函数体内调用b函数的结果为:'+b(param);
}

document.write(a(5));
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值