2010-04-25 61 views
1

我一直在搞亂string.replace,並且發現Webkit和Firebug的javascript控制檯很奇怪。Javascript undefined behavior with string.replace

我可以在空白的瀏覽器窗口中重複此行爲。 (先看第一個和最後一個行)

>>> "/literature?page=".replace(/page=/i, "page=2") 
"/literature?page=" 

>>> "/literature?page=".replace("page=", "page=2") 
"/literature?page=2" 

>>> "/literature?page=".replace(/page=/, "page=2") 
"/literature?page=2" 

>>> "/literature?page=".replace(/page=/i, "page=2") 
"/literature?page=2" 

只是讓人們都認爲我拼寫錯誤的東西,這裏有截圖。

螢火蟲(3.0.14)

firefbug

的Webkit(最新夜間爲這篇文章的創作。)

webkit

+0

要說清楚,看起來你突出了一個例子,你運行一個命令兩個不同的時間w/2不同的結果? – 2010-04-25 02:54:47

+1

Firefox 3.6.3。我的行爲像預期的那樣,不像你的那樣。 – cletus 2010-04-25 02:56:57

+1

我已確認Firefox 3.6.3的行爲正確。問題是,我仍然必須在其他瀏覽器中解決此問題。 – epochwolf 2010-04-25 03:08:53

回答