为什么回调函数显示“未定义”结果?

问题描述 投票:0回答:1

我一直在Postman中学习javascript测试脚本。在这里我只是学习回调函数,我想检查返回值是否显示在打印语句的最后一行,但结果显示“未定义”。下面是代码:

function add(a,b)
{
    console.log(a+b);
    return a+b;

function test(testname,callbackfunction,m,n)
{
    console.log(testname);
    callbackfunction(m,n);
}
console.log
(test("THis is addition",add,12,12));

控制台显示:

这是加法 24 未定义

为什么最后一行显示 undefined 而不是显示 24 返回值? 预先感谢。

我尝试将返回值存储在变量中,但它显示相同的“未定义”结果。

let stu=test("THis is addition",add,12,12);
javascript function callback automated-tests postman
1个回答
0
投票

问题是您的测试函数没有返回任何内容。在 js 中,如果函数没有返回值,它会自动返回

undefined
。所以,当您致电
test("THis is addition", add, 12, 12)
.

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

function test(testname, callbackfunction, m, n) {
    console.log(testname);
    return callbackfunction(m, n);
}

console.log(test("THis is addition", add, 12, 12));
© www.soinside.com 2019 - 2024. All rights reserved.