JavaScript-使用(条件、随机、布尔)的简单程序

JavaScript-使用(条件、随机、布尔)的简单程序,javascript,html,css,Javascript,Html,Css,在学习JavaScript的过程中,我构建了一个小程序作为一项挑战。该程序建立在Math.random函数的基础上,还使用条件语句和布尔赋值 我的问题是:在下面的代码中,有人告诉我,你不必严格地将布尔校正猜测等于真,这是什么原因,意思是什么 我应该执行if(correctGuess==true)后接else语句还是if(correctGuess)后接else语句 代码如下: var correctGuess = false; var randomNumber = Math.floor(Math.

在学习JavaScript的过程中,我构建了一个小程序作为一项挑战。该程序建立在Math.random函数的基础上,还使用条件语句和布尔赋值

我的问题是:在下面的代码中,有人告诉我,你不必严格地将布尔校正猜测等于真,这是什么原因,意思是什么 我应该执行
if(correctGuess==true)
后接else语句还是
if(correctGuess)
后接else语句

代码如下:

var correctGuess = false;
var randomNumber = Math.floor(Math.random() * 6) + 1;
var guess = prompt("I am thinking of a number between 1 and 6. What is it?");
if (parseInt(guess) === randomNumber ) {
    correctGuess = true;
} else if (parseInt(guess) < randomNumber) {
    var guessMore = prompt(" Sorry, your guess whas too low. Try again");
    if ( parseInt(guessMore) === randomNumber) {
        correctGuess = true;
    }
} else if (parseInt(guess) > randomNumber) {
    var guessLess = prompt("sorry, your guess was too high. Try again");
    if (parseInt(guessLess) === randomNumber) {
        correctGuess = true;
    }
}
if ( correctGuess ) {
    document.write("<p>You guessed the number!<p>");
} else {
    document.write("<p>Sorry. The number was " + randomNumber + ".<p>");
}
var correctGuess=false;
var randomNumber=Math.floor(Math.random()*6)+1;
var guess=prompt(“我想的是一个介于1和6之间的数字,它是什么?”);
if(parseInt(guess)==randomNumber){
正确猜测=正确;
}else if(parseInt(guess)随机数){
var guessLess=prompt(“对不起,您的猜测太高,请重试”);
if(parseInt(无猜测)==randomNumber){
正确猜测=正确;
}
}
如果(正确猜测){
写下(“你猜到了数字!”);
}否则{
文件。写(“对不起,号码是“+randomNumber+””;
}

如果(correctGuess==true)正确选择,则需要检查
correctGuess
变量到
布尔值

如果没有
===
中的
if(correctGuess)
调用,您将有
true
和:
correctGuess={}
correctGuess=[]
correctGuess=“string”
correctGuess=1

但是如果您确定,
correctGuess
变量始终是
boolean
(就像在您的代码中一样)-您可以使用
if(correctGuess)
调用-它将非常有效


如果(correctGuess==true)
选择正确,则需要检查
correctGuess
变量到
boolean
->
,您可以在此处阅读有关类型转换的更多信息

如果没有
===
中的
if(correctGuess)
调用,您将有
true
和:
correctGuess={}
correctGuess=[]
correctGuess=“string”
correctGuess=1

但是如果您确定,
correctGuess
变量始终是
boolean
(就像在您的代码中一样)-您可以使用
if(correctGuess)
调用-它将非常有效


若我正确理解了这个问题,你们可以在这里阅读更多关于类型转换的内容。您不知道
if(true==true)
if(true)
之间的区别。这是布尔操作数

如果我正确理解了这个问题。您不知道
if(true==true)
if(true)
之间的区别。这是布尔操作数

两者都是完全有效的,是否使用取决于您个人对清晰度的偏好。就我个人而言,我会使用后者,并减少额外的打字。如果你把它作为答案发布,我会接受你的答案,你让它更容易理解。我认为现在我会使用严格的相等运算符,因为我刚开始学习它使代码更容易阅读和理解。两者都是完全有效的,是否使用取决于您个人对清晰性的偏好。就我个人而言,我会使用后者,并减少额外的打字。如果你把它作为答案发布,我会接受你的答案,你让它更容易理解。我想现在我会使用严格相等运算符,因为我刚开始学习它使代码更容易阅读和理解。谢谢,这对我来说是最容易理解的。你认为使用“if(correct guess==true)”更安全吗?是的。严格的平等比较更安全。也可能是不必要的。是的,这样更安全。我同意@frikinside关于correctGuess={}或correctGuess=[]的说法:如果您编写If({}==true)警报(“true”),警报将不会触发。但是,如果您编写if({})alert(“true”),它将触发。看看这个例子:谢谢,这对我来说是最容易理解的。你认为使用“if(correct guess==true)”更安全吗?是的。严格的平等比较更安全。也可能是不必要的。是的,这样更安全。我同意@frikinside关于correctGuess={}或correctGuess=[]的说法:如果您编写If({}==true)警报(“true”),警报将不会触发。但是,如果您编写if({})alert(“true”),它将触发。看看这个例子: