我用普通代码编写了这个程序但是我不太了解Javascript以使所有语法正确。我是一个编程的开始,请帮助我纠正我的代码。它目前根本没有运行。我们仍在进行循环,这真的给了我麻烦。这是一个大学课程。 (我知道这格式不正确,这就是我要求帮助的原因)
function main() {
alert("Welcome to the program");
var fatGrams = getFatGrams(fatGrams);
var calories = getCalories(fatGrams,calories);
var percentage = caloriesPercentage(fatGrams,calories);
displayPercentage(percentage);
}
function getFatGrams(fatGrams) {
fatGrams = prompt("Enter the number of fat grams in your food item");
while(fatGrams < 0){
alert("Error, the fat grams cannot be less than 0.");
fatGrams = prompt("Enter the new number of fat grams.");
}
return fatGrams;
}
function getCalories(fatGrams,calories) {
calories = prompt("Enter the number of calories in your food item.");
while (calories < 9 || calories > (fatGrams * 9)){
alert("Error, the calories cannot be less than 9 or exceed the fat grams * 9");
calories = prompt("Enter the new number of calories");
}
return calories;
}
function caloriesPercentage(fatGrams,calories){
percentage = (fatGrams * 9) / calories;
alert("The amount of calories that come from fat is, " + percentage);
return percentage;
}
function displayPercentage(percentage){
if(percentage < 0.3){
alert("The food is low in fat.");
}
else{
alert("The food is not too low in fat.");
}
}
main();
alert("End of program");
答案 0 :(得分:2)
代码中的错误:
调用函数不需要std::is_same
关键字。在调用函数之前删除关键字function
,只需将函数调用为function
您没有将参数传递给getFatGrams(fatGrams);
。将其更改为function caloriesPercentage
caloriesPercentage(fatGrams,calories);
循环的表达式应作为while
包含在paranthesis中。
while(fatGrams < 0)
应写为OR
。
使用||
连接2个字符串(或字符串和变量)
+
"The amount of calories that come from fat is, " + percentage
的表达式也应作为while
包含在paranthesis中,不需要if(percentage < 0.3)
。 then
的大括号应在if
之前关闭。
else
将if(percentage < 0.3){
alert("The food is low in fat.");
}
else {
alert("The food is not too low in fat.");
}
的值指定为变量
prompt
您的最终代码应如下所示:
fatGrams = prompt("Enter the new number of fat grams.");
答案 1 :(得分:2)
欢迎来到精彩的编程世界!
看起来您已经掌握了基础知识,让我解释一下您使用JavaScript时遇到的一些问题。我会使用一些大词(许多其他经验丰富的开发人员也会这样习惯!)。
我在您的main()
函数中看到的第一个问题是关于何时在JavaScript中使用function
关键字的混淆。您只需要在声明功能时使用function
,或者换句话说,当您想要创建新功能时使用function
。&#34;当您声明某些内容时,您正在创建它,并且在JavaScript中function addTwo( number ) {
return number + 2;
}
关键字是您声明(也称为创建)函数的方式。以下是创建&#34;命名函数&#34;的示例。在javascript。
var addThree = function( number ) {
return number + 3;
};
这是一个&#34;命名函数&#34;宣言。另外,您还可以创建函数&#34;表达式&#34; (这将被称为&#34;函数表达式&#34;)。这看起来像这样
function
请注意,在这两种情况下,我们都会使用var four = addTwo( 2 );
var five = addThree( 2 );
关键字创建一个函数。
当您想要使用某个功能时,您可以调用&#34;它。这也被称为&#34;呼叫&#34;一个功能。要调用(也就是调用)一个函数,你只需在函数名后面加上括号,传入任何参数。函数调用对命名函数和函数表达式的作用相同。所以我们可以像上面那样调用上面的两个函数
function
简单地说,只使用( argument, otherArg )
关键字来创建函数。要调用或使用函数,只需将if
放在函数名的末尾。
接下来我看到的是你错过了一些括号! JavaScript具有C样式语法,因此您需要在else if
,switch
和if .. else
语句的表达式周围加上括号。我列出的那些关键字就是我们所说的分支语句。它们允许您根据某些true或false值有条件地执行代码,而不是允许您根据true或false值重复代码的循环语句。 JavaScript中if ( number % 2 === 0 ) {
number *= 2;
} else if ( number % 3 === 0 ) {
number *= 3;
} else {
number += 5;
}
分支语句的结构如下所示。
if
对于else if
和else
,您需要提供一个&#34;表达式&#34;分支。如果if
或else if
表达式均未评估为true,则始终执行else
语句。 else
条款不是必需的,因此,如果您的if ( needsCleanup ) {
doCleanup();
}
区块中没有任何代码,则可以将其删除!在代码
else if
当然可以使用else
子句而不是else
子句,else
始终是可选的。但是请记住,()
子句永远不会有表达式,因此您不应该在简单的else
后写for
。
循环是一个很大的概念,需要一段时间才能掌握,所以不要感到沮丧或气馁!在JavaScript中,我们有while
,do while
和if
个循环。就像do while
语句一样,循环语句需要一个表达式,但在这种情况下,他们需要知道何时停止循环。我不打算覆盖for
循环,因为它们很少使用,并且刚刚开始时可能会让人感到困惑。简单地说,循环语句说:&#34;继续执行此代码块直到表达式为假。&#34;我发现使用var sum = 0;
for ( var i = 1 ; i <= 10 ; i++ ) {
sum += i;
}
// sum will be 55
// i will be 11
循环来说明这一点最简单。 For循环是一种特定次数运行代码块的好方法。让我们看一个示例,它使用for循环将所有数字从1添加到10。
for
;
循环有三个由var i = 1
分隔的表达式。第一个是初始化,仅在循环开始之前执行(while
部分)。第二个是在每次迭代之前检查的条件。最后一个是在每个循环执行结束时执行的递增操作。如果我们将这个for循环重新写为var sum = 0;
var i = 1;
while ( i <= 10 ) {
sum += i;
i++;
}
看起来就像这样......
var i = 1
所以你可以看到i <= 10
在循环开始之前发生。 {}
在每次循环运行它的主体(i++
中的部分)之前发生。并且i <= 10
在循环结束时发生,然后检查+
是否应该继续循环。
字符串连接是将两个字符串放在一起的过程。在JavaScript中,1 + 1
运算符作为加法'hello' + ' world'
和字符串连接var salutation = 'Hello';
var name = 'Kylie';
var greeting = salutation + ', ' + name;
// greeting will be "Hello, Kylie"
执行双重任务。所以当你想把两个字符串组合在一起时,你只需添加它们!如果字符串是变量,那么你只需要添加&#34;他们在一起......
{{1}}
我希望能解决一些问题,如果您有任何疑问,请告诉我们!
答案 2 :(得分:1)
因为这是一个课程,我不会给你答案,而是指出问题。
在Javascript中调用函数并返回值:
var myvalue = myFunction();
你的主人有function...
,需要解决这个问题。
有些函数只返回值,因此调用它们不需要参数(如上所述),其他函数需要输入的参数。
提示返回一个值,您需要捕获该值:
var myinputvalue = prompt("enter value");
参考:https://developer.mozilla.org/en-US/docs/Web/API/Window/prompt
使用while
,if
等时,需要将条件包装在括号中。
while (mything < 0){
参考; https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/if...else和https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/while
“OR”由||
表示,AND由&&
注意:您可以使用一些在线工具来解决一些问题,例如将代码粘贴到http://jshint.com/中,它会告诉您许多语法问题。