无论如何,有没有更改错误代码“ TypeError:a未定义”?

时间:2019-10-17 21:19:00

标签: javascript function error-handling

let array= [
  {fruit: "pear", price: 9.89},
];

function fruitCheck(a) {
    var fruitTest = array.find(function(check) {
        return check.fruit == a
    });
    return fruitTest ? fruitTest : a == undefined ? "Where is your fruit???" : a + " is not a fruit!!!!!"
}

如何更改此设置,以便当用户不输入任何内容时,控制台将记录日志(“抱歉,您没有输入任何内容”)。这可能吗?

2 个答案:

答案 0 :(得分:0)

只需在函数内部检查参数,看看是否已设置。

示例:

If (typeof a === “undefined”) {
   console.log(‘error message here’)
   return; // to prevent the rest of your code form executing

}

答案 1 :(得分:0)

您的find()回调中已经发生了错误。在函数开始时检查a的类型,然后可以使用console.error()(或console.log()console.warn())记录自定义错误消息。当然,您也可以抛出自定义异常。

function fruitCheck(a) {
    if (typeof a === "undefined") {
        console.error("Sorry, you didnt input anything");
        return;
    }

    var fruitTest = array.find(function(check) {
        return check.fruit == a
    });
    return fruitTest ? fruitTest : a == undefined ? "Where is your fruit???" : a + " is not a fruit!!!!!"
}