如何将数据存储到变量中?

时间:2018-12-13 17:00:40

标签: javascript

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作为答案。

4 个答案:

答案 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);