如何定义变量'age'?

时间:2012-12-08 20:27:36

标签: jquery

CodeAcademy说我没有定义变量年龄?

我哪里出错了?

$(document).ready(function(){
    confirm("I am ready to play!");
    var age = prompt("What's your age");

    if (age > 18) {
    console.log("play on player");
    }
    else {
    console.log("you are not allow to play bro");
    }
    }); 

*对于任何想知道我为什么不使用CA Q& A的人来说,是因为Stack人更快更有趣。

5 个答案:

答案 0 :(得分:2)

else (是无效的语法。您需要else if(或仅else {)。否则代码对我来说没问题,所以可能只是一个CA错误?

答案 1 :(得分:0)

也许这会更好用,请注意您错过了if声明

$(document).ready(function(){
    confirm("I am ready to play!");

    var age = prompt("What's your age");

    if (age > 18) {
     console.log("play on player");
    }else{
     if(age < 18) {      //but what about age == 18?? :)
      console.log("you are not allow to play");
     }
    }
}); 

修改

回复您的编辑。如果上面的代码运行,并且您稍后尝试访问age则无法访问,因为age的范围限定为此“闭包”(函数范围)。如果您想稍后访问,请尝试以下操作:

var age;
$(document).ready(function(){
 confirm("I am ready to play!");

 age = prompt("What's your age");

 if (age > 18) {
  console.log("play on player");
 }else{
  console.log("you are not allow to play");
 }
}); 

所以现在稍后您将能够使用age变量。 然而,如果你没有采用这种方法,那么采用第一种方法,并在console.log(age)块之外尝试$(document).ready),你会得到{{1}的异常没有定义。

答案 2 :(得分:0)

$(document).ready(function(){
        confirm("I am ready to play!");
        var age = prompt("What's your age");

        if (age > 18) {
        console.log("play on player");
        }
        else if(age < 18) {
        console.log("you are not allow to play dawg");
        }
        }); 

你做了一个简单的拼写错误,应该放else if(而不是else

答案 3 :(得分:0)

您的代码看起来不错,但

在比较之前你应该对你的年龄做parseInt,因为你要将字符串与int类型进行比较。

如果你的访客是18岁,你应该做点什么:P有类似的东西:
if( age.parseInt() >= 18)

或者你可以在比较age = age.parseInt()

之前做

答案 4 :(得分:0)

虽然您可能希望执行从String到Number的显式转换,但age的声明看起来没问题。

除非测试返回的值,否则confirm()也毫无意义。

$(document).ready(function() {
    if(confirm("I am ready to play!")) {
        var age = Number(prompt("What's your age"));
        if (age >= 18) {
            console.log("play on player");
        }
        else {
            console.log("you are not allow to play bro");
        }
    }
});