Javascript ES6箭头功能。返回未定义
我一直在努力理解箭头函数。我知道函数isValidCard返回true,但是当我将isValidCard传递给validatePayment时,isValidCard变为未定义Javascript ES6箭头功能。返回未定义,javascript,undefined,arrow-functions,Javascript,Undefined,Arrow Functions,我一直在努力理解箭头函数。我知道函数isValidCard返回true,但是当我将isValidCard传递给validatePayment时,isValidCard变为未定义 <form name="payment" action="#" onsubmit="return validatePayment();" method="post"> <ul> <li><label for="cardid">Card Number
<form name="payment" action="#" onsubmit="return validatePayment();" method="post">
<ul>
<li><label for="cardid">Card Number *</label></li>
<li><input type="number" name="cardid" id="cardid"></li>
<li><label for="expiryid">Expiry Date *</label></li>
<li><input type="number" name="expiryid" id="expiryid"></li>
<li><label for="cvcid">CVC Number *</label></li>
<li><input type="number" name="cvcid" id="cvcid"></li>
</ul>
<input type="submit" name="submit" value="Submit">
</form>
let validatePayment = (isValidCard, isValidExpiry, isValidCvc) => {
validateCard();
alert(isValidCard);
if (!isValidCard || !isValidExpiry || !isValidCvc) {
alert("Payment details not accepted");
return false;
}
alert("Payment details accepted");
return true;
};
let validateCard = () => {
const card = document.payment.cardid;
const isValidCard = card.value.length === 10;
if (!isValidCard) {
alert("Card Number must be 10 numbers");
}
return isValidCard;
};
- 卡号*
- 有效期*
- CVC数*
让validatePayment=(isValidCard、isValidExpiry、isValidCvc)=>{
validateCard();
警报(iValidCard);
如果(!isValidCard | | |!isValidExpiry | |!isValidCc){
警报(“不接受付款明细”);
返回false;
}
警报(“接受付款详情”);
返回true;
};
让validateCard=()=>{
const card=document.payment.cardd;
const isValidCard=card.value.length==10;
如果(!isValidCard){
警报(“卡号必须为10号”);
}
返回isValidCard;
};
isValidCard参数是函数吗?调用validateCard()代码>但忽略返回值。。。。您没有显示如何调用validatePayment
——我想您可能也忽略了那里的返回值。。。箭头函数与常规函数一样工作-主要区别在于这个
是什么(与您的代码无关)以及参数
没有在它们内部定义这一事实-同样,与您的代码步骤一无关。。。显示如何调用validatePayment
-包括参数是什么。。。然后有人可以告诉你你在做什么wrong@JaromandaX我已经更新了如何调用validatePayment