11

我有这个功能:

function RemoveProduct() {
    if (confirm("Poista?") == return true) {
        return true;
    } else {
        return false;
    }
}

当您单击页面上的“删除”按钮时,它应该询问是否应该删除产品,如果答案是肯定的,它将删除它。

但据我所知,我不能在 if 语句条件上使用另一个括号?这应该怎么做?

4

4 回答 4

32

当您将返回值与true您不应该使用的比较时return true,只需true

function RemoveProduct() {
  if (confirm("Poista?") == true) {
    return true;
  } else {
    return false;
  }
}

您甚至不需要进行比较,因为结果confirm是一个布尔值:

function RemoveProduct() {
  if (confirm("Poista?")) {
    return true;
  } else {
    return false;
  }
}

而且您甚至不需要该if语句,您只需从以下位置返回结果confirm

function RemoveProduct() {
  return confirm("Poista?");
}

请记住return在事件中使用该功能时使用。例子:

<input type="submit" onclick="return RemoveProduct();" />
于 2012-08-22T12:48:13.380 回答
4

但据我所知,我不能在 if 语句条件上使用另一个括号?

没有什么可以阻止您在 if 条件下执行函数。也就是说,为了清晰和可读性,我总是在 if 之前解决我的条件的所有论点。

这是您的代码大大简化。

var confirmed = confirm('whatever');
return confirmed;
于 2012-08-22T12:40:04.673 回答
4

confirm()返回一个布尔值,您可以返回它。像这样:

function RemoveProduct() {
    return confirm("Poista?");
}
于 2012-08-22T12:40:56.553 回答
3

只需使用

<a onclick="return confirm('ARe sure want to remove');">remove</a>
于 2012-08-22T12:40:10.473 回答