gpt4 book ai didi

javascript - 如何从 Javascript 中的另一个函数调用一个函数?

转载 作者:行者123 更新时间:2023-11-30 10:53:36 26 4
gpt4 key购买 nike

我有一个无效代码。我认为它只需要一点点修改,它应该可以工作。我想不通。刚开始学习JS。

var add = function (a, b) {
if (typeof a !== 'number' || typeof b !== 'number') {
throw {
name: 'TypeError',
message: 'add needs numbers'
}
}
return a + b;
}

var try_it = function (a, b) {
try {
add(a, b);
} catch (e) {
document.writeln(e.name + ': ' + e.message);
}
}

document.writeln(try_it(2, 7));

这是行不通的。我收到“未定义”错误。但是,如果我直接调用函数添加...

 var add = function (a, b) {
if (typeof a !== 'number' || typeof b !== 'number') {
throw {
name: 'TypeError',
message: 'add needs numbers'
}
}
return a + b;
}

var try_it = function (a, b) {
try {
add(a, b);
} catch (e) {
document.writeln(e.name + ': ' + e.message);
}
}

document.writeln(add(2, 7));

...我得到了想要的结果。函数 try_it 一定有问题?

最佳答案

这是因为您的 try_it() 没有返回值,而您的 add() 返回值。

尝试这样的事情:

var try_it = function (a, b) {
var result; // storage for the result of add()
try {
result = add(a, b); // store the value that was returned from add()
} catch (e) {
document.writeln(e.name + ': ' + e.message);
}
return result; // return the result
}

这将返回 add() 的结果。您得到的是 undefined,因为这是未指定时的默认返回值。

编辑:将其更改为将结果存储在变量中而不是立即返回。这样您仍然可以捕获错误。

关于javascript - 如何从 Javascript 中的另一个函数调用一个函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3742579/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com