var a=1800, b=10;
if (a == b) {
document.write(a - b) = c;
}
else if (a > b) {
document.write(a - b) = c;
}
else {
document.write("Everything is wrong.") = c;
}
var x = c * 100;
document.write(x);
朋友您好,我可以将变量的结果存储到“ c”中吗?如果是,那我为什么不能进一步使用该数据进行算术计算。 我从if语句中得到1790作为答案。
答案 0 :(得分:2)
变量应位于等号的左侧。 document.write没有返回值,因此您应该在该行之前进行赋值。
else if (a > b) {
c = a - b;
document.write(c);
}
答案 1 :(得分:0)
首先,您应该初始化变量,然后,否则if语句没有任何意义,因为如果您执行的操作与使用||
OR运算符可以执行的操作相同。
const a = 1800;
const b = 10;
let c = null;
if (a == b || a > b) {
c = (a - b) * 100;
} else {
c = "Everything is wrong.";
}
document.write(c);
答案 2 :(得分:0)
那甚至不是有效的JavaScript。
您要调用一个函数(document.write()),然后在其上使用赋值运算符(您不能这样做)。
最终结果将等同于编写类似undefined = 7
的内容,因为JavaScript将首先评估/执行该函数。
C也永远不会在任何地方声明,因此您也可能会遇到问题。
相反,您需要执行以下操作:
let c; //declare C but don't assign it a value
const a = 1800;
const b = 10;
if(a === b || a > b){ //Since you're doing the same thing combine the conditions
c = a - b;
document.write(c);
} else {
document.write("Somethings wrong")
}
let x = c * 100; // If c is undefined you'll get NaN similar to above, otherwise you'll get a result
document.write(x);
答案 3 :(得分:0)
Document.write不返回方程式的结果,并且您的分配不正确。在分配变量时,请考虑以下方式:
“我有一个变量C。我希望C存储Y的值。”
所以C =Y。这是数学运算的倒退。 (等式=结果。)在编程中,它通常是StorageLocation =等式。
为什么我说倾向于?那里必须有一种语言不符合这种范式!
这是您的更新代码:
var a=1800, b=10, c = 0; // Initializing c for document.write is a good practice.
if (a == b) {
c = a-b;
}
else if (a > b) {
c = a-b; /* As the other two posters noticed ... this does the same thing as the a == b. I am assuming you'd like to do something a little different with the two blocks. */
}
else {
c = "Everything is wrong.";
}
document.write(c); // "Don't Repeat Yourself" or "DRY" is good practice.
var x = c * 100; // Note - Multiplying your string by 100 is weird.
document.write(x);