Javascript 为什么我的代码会使结果为负

Javascript 为什么我的代码会使结果为负,javascript,Javascript,所以我的代码是书签代码(在chrome中使用),我在学校使用,就是这样: javascript: var org=prompt("What is the original?"); var norg=prompt("What is the new?"); var x = +norg - +org; var y =+x / +org; alert(+y * -100); // ^^^^^^ if (+org < +norg) {alert(

所以我的代码是书签代码(在chrome中使用),我在学校使用,就是这样:

javascript:

var org=prompt("What is the original?"); 
var norg=prompt("What is the new?"); 
var x = +norg - +org; 
var y =+x / +org; alert(+y * -100);
//                         ^^^^^^
if (+org < +norg) {alert("Increase");} else {alert("Decrease");}
var org=prompt(“原版是什么?”);
var norg=prompt(“新功能是什么?”);
var x=+norg-+org;
变量y=+x/+org;警报(+y*-100);
//                         ^^^^^^
如果(+org<+norg){alert(“增加”);}其他{alert(“减少”);}
我用-100表示结果等于正的百分比,但为什么需要-100表示正的百分比呢


另外,如果你想知道这是为了找到变化的百分比还是试图找到变化的百分比。

我将尝试尽我所能回答这个问题

1) 删除所有加号。重构代码,使
提示符
中的返回值在分配给变量后立即转换。使代码更干净、更少冗余,更不用说更高的性能了

var org = +(prompt("What is the original?"));
var norg = +(prompt("What is the new?"));
2) 正如@adeneo所说的,如果您希望确保一个正值,那么将这些值围绕
Math.abs

var y = Math.abs( x / org );
3) 您还有一个带有无效javascript的警报
警报(+y***-100**),现在我将对其进行注释,因为有点不清楚您试图做什么

最终代码:

var org = +( prompt("What is the original?") );
var norg = +( prompt("What is the new?") );
var x = norg - org;
var y = Math.abs( x / org );
//alert(+y * **-100**); <-- commenting out for now
if ( org < norg ) {
    alert("Increase");
} else {
    alert("Decrease");
}
var org=+(提示(“原版是什么?”);
var norg=+(提示(“新功能是什么?”);
var x=挪威-org;
var y=Math.abs(x/org);

//警报(+y***-100**)<代码>***-100**
不是有效的Javascript。这段代码想做什么?似乎他想告诉计算机他真的真的想乘以100。删除所有加号,如果你总是想返回一个正百分比,请使用
Math.abs
->注意标记在代码块中不起作用,所以你不能把
**
..
**
放在你的部分代码周围。是的,在缩进之前,我希望它是粗体的,这就是为什么有…@Riderfighter。如果我已经满足了你的问题,请将它标记为已回答。否则,请在您的原始问题中添加更多信息,以便我能更好地尝试回答它。