2012-01-05 9 views
0

Dreamweaverによれば、この問題を回避しようとしていますが、私が実行すると、javascriptは "/"の間のセクションが正規表現の定義だと思っています。私はこれを私が望むように分割するためにどのように修正するのですか?Javascriptで除算演算子を使用するにはどうすればよいですか?これは正規表現だと思っています

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

あなたのコードはRegExと何が関係していますか? –

+0

完璧にここに働いています:http://jsfiddle.net/Y7UDY/あなたの問題は 'Dreamweaverによるものだと思います。 –

+0

それは何も問題ではない。 – Chris

答えて

3

Dreamweaverは単なるIDEです。誤ったハイライトを無視する必要があります.JavaScriptは実際に使用するときには期待どおりに実行され、除算が行われるためです。推測として

しかし、あなたはおそらく

filmHours()/ 3

+0

スペースを試してみましたが、Dreamweaverではまだ色分けされていませんが、ブラウザで正しく動作しているように見えます。助けをありがとうアラン – bruchowski

1

あなたのコードが完全に正常に動作しますようにそれの間にスペースを入れる必要があります。私も

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に戻ることは決してありません。

1

他の人のように、これはうまく動作するはずです。それは(少なくともこの文脈で)不要なので、私はここにいたすべてはそれらを取り除くた

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

がゼロに設定された初期totalPrideと変数に関数の実行を短縮 - :ちょうどかかわらず、少しそれをクリーンアップしますこの方法で、あなたは少ない括弧と頭痛に対処しています。

0

私は同じ問題が発生したカラーコードがOKである。このように

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

よう

filmHours()/3 

を書くなど以外の解決策を見つけることができませんでした。

関連する問題