2011-11-02 77 views
2

JavaScript中是否有//運算符?運算符//在JavaScript中:5.0 // 2.0 = 5?

因爲在Python中,我們有:

5 // 2.0 # => 2.0 
5/2.0 # => 2.5 

於是,我就在JavaScript:

5.0//2.0 

和我5!那裏發生了什麼?

我讀到,在JavaScript中沒有像//操作符那樣的東西。在這種情況下,爲什麼我沒有得到一個例外,或者更好的是,來自詞法分析器的錯誤?

我用這條線:

document.write(eval("5.0//2.0")); 

在Firefox 3.6.23。

+3

正如您可能已經通過查看語法突出顯示看到的那樣,// ...是JavaScript中註釋的標記。此外,如果您需要英語提示,請訪問http://english.stackexchange.com/ –

+13

這是我第一次看到通過語法突出顯示回答的問題。 – SLaks

+0

查看[this question](http://stackoverflow.com/questions/4228356/integer-division-in-javascript)在JavaScript中進行整數除法 –

回答

2

在JavaScript中,//不是操作符,它表示註釋。

1

//用於JavaScript中的評論。

7

//是在javascript中的評論。

嘗試:

5/2; //yields 2.5 
    Math.floor(5/2); //yields 2 

也不要使用eval。

只是做document.write(5/2);

+2

+1,只有答案提到什麼'''做,以及如何做整數除法。 –

+0

最後一行的額外括號是什麼? –

+0

@AntonyHatchkins無論你在說什麼? – Neal

0

//註釋的開始。要進行整數除法,首先使用/執行常規除法,然後將其舍入。這可以用&-1,^0,|0~~來完成,按我的筆記本電腦上的測量從快到慢的順序。前三者之間有明顯差異,但很小。最後一個比較非常慢。

把它放在一起,5/2&-1將產生2.它趨於零。