JS中将函数作为参数传入

本文介绍了如何在JavaScript中将函数作为参数传入,包括无参函数和有参函数的使用方式,并探讨了两种典型的应用场景。

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

定义一个参数是函数的JS函数 

// 这是一个JS函数,其参数是个函数
function test(func){
    func(); // 执行传入的函数
}

1.参数是无参函数 

// 1.无参函数
function a(){
    alert("a()执行!");
}

// 测试
test(a); // 只需要填函数名

2.参数是有参函数 

// 2.有参函数
function b(name){
    alert("b(name)执行!name = " + name);
}

// 测试1(报错)
test(b("zhangsan")); // 传入参数的这一刻,b("zhangsan")就已经执行了,然后报错:func()不是一个函数。

// 测试2(函数内获取参数)
test(function(){ // 套一层匿名函数,在匿名函数中调用b(name);
    var name = xxx; // 访问后台获取消息
    b(name);
});

// 测试3(函数内获取参数)
test(b); // 只需要填函数名,在test函数中获取name,调用func(name);

应用场景1 

// 应用场景1:通用的execute函数,根据业务传入自定义的处理函数
function execute(func){
    // 获取后台数据...
    var data = "测试数据";

    if(typeof func === "function"){ // 如果传入的参数func是函数
        func(data); // 调用自定义的处理函数
    }
}

// 测试
execute(b);

应用场景2 

// 应用场景2:给input标签添加回车按键处理函数
function onEnterKeyDown(inputId, func){
    $("#"+inputId).on("keydown", function(e){
        if(e.keyCode === 13 || e.which === 13){
            func($(this).val()); // 调用传入的函数,并将搜索框里输入的内容作为参数传入
        }
    })
}

// 测试

// 1.js代码
$(function(){
    onEnterKeyDown("nameInput", b); // input标签输入信息后,点击回车,调用b函数,并将输入内容作为参数传入
});

// 2.html代码
用户名:<input id="nameInput" type="text" value=""/>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值