3

我正在阅读一本关于 Javascript 的书,并遇到了以下代码示例,旨在替换表头 HTML 元素的类属性的值:

th.className = th.className.replace(/asc/,"dsc");
th.className = th.className.replace(/dsc/,"asc");

为什么 .replace 的第一个参数,当前值th.className,用正斜杠括起来而不是引号?

为什么不使用引号将两个参数括起来,而不仅仅是第二个?

4

1 回答 1

8

那些是正则表达式。您可以使用正则表达式或字符串来定义.replace().


例如,如果您想替换'asc'字符串中所有出现的 ,您可以g在正则表达式上使用 (global) 修饰符。

th.className = th.className.replace(/asc/g,"dsc");

但是鉴于您的示例,使用的正则表达式不会提供与使用 string 不同的结果'asc'

于 2012-06-09T22:38:39.230 回答