如何让Javascript中的除法运算符工作?它认为它'是Regex

How to get the division operator in Javascript to work? It thinks it's a Regex

本文关键字:Regex 工作 Javascript 运算符 除法      更新时间:2023-09-26

我正在竭尽全力寻找解决方案。。根据Dreamweaver的说法,当我运行它时,javascript认为"/"之间的部分是regex定义。我该如何解决这一问题,使其成为我想要的分裂?

var totalPrice = 0;
    totalPrice = totalPrice + ((bluRayPrice * filmHours()) + ((filmHours()/3 < 1) ? bluRayPrice * copies1 : ((filmHours()/3)*bluRayPrice) * copies1 ));

Dreamweaver只是一个IDE。您应该忽略任何不正确的突出显示,因为javascript将按预期运行,并在实际使用时进行分割

不过,作为一种猜测,你可能应该像一样在它之间放一个空格

filmHours()/3

您的代码运行良好:

var totalPrice = 0, bluRayPrice = 10, copies1 = 10;
function filmHours(){
return 3;
}
totalPrice = totalPrice + ((bluRayPrice * filmHours()) + ((filmHours()/3 < 1) ? bluRayPrice * copies1 : ((filmHours()/3)*bluRayPrice) * copies1 ));
/*totalPrice = 0 + ((10 * 3) + ((3/3 < 1) ? 10 * 10 : ((3/3)*10) * 10 )); */
alert(totalPrice); // 130

我还需要指出,我在Dreamweaver上看到了许多突出显示错误。我强烈建议你使用Notepad++,一旦你使用了它,你就再也不想回到Dreamweaver了。

正如其他人所说,这应该运行良好。只是为了稍微清理一下:

var film_hours = filmHours();
var totalPrice = 0 + ((bluRayPrice * film_hours) + (((film_hours / 3) < 1) ? (bluRayPrice * copies1) : ((film_hours1 / 3) * bluRayPrice) * copies1 ));

我在这里所做的只是将totalPride初始设置为零,因为这是不必要的(至少在这种情况下),并将函数运行缩短为一个变量——这样你就可以处理更少的括号和头痛。

我遇到了同样的问题,除了写之外,没有找到任何解决方案

filmHours()/3 

filmHours()*(Math.pow(3,-1))

这样颜色编码就可以了。