为什么“拒绝访问”总是提示

时间:2019-10-06 08:35:11

标签: javascript

我不知道如何解决

我试图交换它们,但未成功

let age = prompt("How old are you?")

function chk(age) {
  age = (age > 18) ? alert("Access allowed") : alert("Access denied");
}
chk()
if (age < 18) {
  let c = confirm("Are your parent allowed?");
  if (c) {
    alert("ok")
  } else {
    alert("than bye")
  }
} else {
  alert("Bye")
}

年龄大于18岁时,必须授予访问权限。而当较小时-相反

2 个答案:

答案 0 :(得分:0)

您在调用chk()函数时未传递参数age,这意味着函数内部的年龄为undefined,现在undefined > 18将始终为false,因此{ {1}}

您可以使用Access Denied来防止上述问题

chk(age)

或者不要使用变量let age = prompt("How old are you?") function chk(age) { (age > 18) ? alert("Access allowed") : alert("Access denied"); // you don't have to reassign since alert does not return any value } chk(age); if (age < 18) { //.. remaining code } 作为age函数的参数,该函数掩盖了全球年龄

chk

答案 1 :(得分:-1)

这不是您问题的直接答案,而是在不涉及任何变量的情况下编写代码的另一种方法。我还“简化了”您的res-子句结构,因为有两个“无”分支有效地导致了相同的结果。在我的if子句中,当第一个条件(年龄> 18)为时,“或”运算符if将导致||函数仅被调用为 遇见。

confirm()