-1

试图让它在 JS 中工作:

var calculate = function(votesA, votesB, votesC) {

    var total = votesA + votesB + votesC;

    function Results(resultsA, resultsB, resultsC) {
        this.resultsA = resultsA;
        this.resultsB = resultsB;
        this.resultsC = resultsC;
    }

    var curResults = new Results(votesA, votesB, votesC);

    curResults.resultsA = (votesA / total) x 100;
    curResults.resultsB = (votesB / total) x 100;
    curResults.resultsC = (votesC / total) x 100;

    console.log(curResults.resultsA, curResults.resultsB, curResults.resultsC);
}

calculate(5,4,8);
calculate(5,6,8);
calculate(6,8,9);

不知道为什么它不起作用,但我觉得这与我在 curResults 中引用变量的方式有关

4

1 回答 1

2

JavaScript 的乘法运算符 is *, not x

以下x几行中的内容为您提供“意外标识符”错误:

curResults.resultsA = (votesA / total) x 100;
curResults.resultsB = (votesB / total) x 100;
curResults.resultsC = (votesC / total) x 100;

所以将它们更改为:

curResults.resultsA = (votesA / total) * 100;
curResults.resultsB = (votesB / total) * 100;
curResults.resultsC = (votesC / total) * 100;

不知道为什么它不起作用,但我觉得这与我如何引用变量有关 curResults

不,那部分很好。虽然顺便说一句,如果您立即覆盖上面三行中的这些值,那么在您的构造函数中分配this.resultsA = resultsA;(and resultsBand C)是没有意义的。Results()

于 2013-01-31T12:27:09.487 回答