2010-04-25 66 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

回答