我的问题是:我是JavaScript的新手,我试图了解“ if {”和“ else if {”语句之间的区别。到目前为止,我发现的唯一答案与后来继承我的代码的人有关,显然没有人会继承我的类项目!我的问题是这样的:
我正在codecademy上做剪刀石头布游戏项目。我的Math.random()方法产生一个随机数。我首先实现了我的代码if(computerChoice <= 0.33){
及其替代方案为:
if (computerChoice > 0.67){...... Which checked out and produced a viable answer.
Run Code Online (Sandbox Code Playgroud)
但是在其建议中,它使用else if语句。我的具体问题是,无论哪种情况,我基本上都设置了一个低范围和一个高范围,剩下的则代表中间位置。否则就不是先前的条件。但是,如果我的条件(如果已经在逻辑上排除了先前的答案)(无论如何必须在逻辑上将其排除在其他情况下),究竟有什么区别?为什么在必要时使用else if / when else?
我的代码如下:
选项一(否则):
var userChoice = prompt("do you want rock paper or scissors?");
var computerChoice = Math.random();
if (computerChoice <= 0.33){
computerChoice = "rock";
}
else if (computerChoice >= 0.67){
computerChoice = "scissors";
}
else {
computerChoice = "paper";
}
console.log(computerChoice);
Run Code Online (Sandbox Code Playgroud)
选项二(如果为2,则为:)
var userChoice = prompt("do you want rock paper or scissors?");
var …
Run Code Online (Sandbox Code Playgroud) 我正在尝试编写一个基于jQuery的数学程序,它将显示和平均我的测验分数.一切都很完美,除了在我的for循环中我有:
specQuizTotalValue += total;
Run Code Online (Sandbox Code Playgroud)
对于全局设置为0的var"specQuizTotalValue".
出于某种原因,我继续为specQuizTotalValue获取NaN,即使每次迭代中的typeof以及全局定义都返回"number".我也试过推到一个数组,并且我得到了两次迭代[NaN,16,36](16和36是正确的值).
这是小提琴 - http://jsfiddle.net/mjhd/jf39f/
var specQuizUL = $('#specQuiz ul').length;
var specQuizTotalValue = 0;
for(i = 0; i <= specQuizUL; i++){
var preval = $('#specQuiz ul:nth-child(' + i + ') li:nth-child(2)').html();
var value = parseInt(preval);
var pretot = $('#specQuiz ul:nth-child(' + i + ') li:nth-child(3)').html();
var total = parseInt(pretot);
var avg = (value/total).toFixed(2) * 100;
$('#specQuiz ul:nth-child(' + i + ')').append('<li>' + avg + ' %</li>');
specQuizTotalValue += total;
}
$('#specQuizTotal').append('<h3>' + specQuizTotalValue + '</h3>');
Run Code Online (Sandbox Code Playgroud)
请帮忙!!