提问编辑器里美元符号抱错-^-
在《JavaScript正则表打死迷你书》中有一段货币格式化的代码:
function format (num) {
return num.toFixed(2).replace(/\B(?=(\d{3})+\b)/g, ",").replace(/^/, "$$ ");
};
console.log( format(1888) );
// => "$ 1,888.00"
请问这里为什么要用俩个美元符号,
而不是一个美元符号,
并且我在Chrome中用一个美元符号 也是正确的?
在JavaScript中,你可以使用内置的replace()方法来替换字符串中的指定子串。这个方法接受两个参数:第一个参数是要查找的子串,第二个参数是要替换成的新子串。以下是一个简单的例子:
javascript
var str = "Hello, World!";
var newStr = str.replace("World", "JavaScript");
console.log(newStr); // 输出:Hello, JavaScript!
在这个例子中,我们首先定义了一个字符串str
,然后使用replace()方法替换字符串中的所有"World"子串。replace()方法会返回一个新的字符串,其中所有的"World"子串都被替换为"JavaScript"。
注意:replace()方法不会修改原始字符串,它返回一个新的字符串。如果你需要在原始字符串上进行操作,你可以使用字符串的replace()方法的全局替换模式,或者在字符串处理函数中进行替换。
例如,以下代码会将字符串中所有的"World"子串替换为"JavaScript",并将结果重新赋值给原始字符串:
javascript
var str = "Hello, World!";
var newStr = str.replace(/World/g, "JavaScript");
console.log(newStr); // 输出:Hello, JavaScript!
在这个例子中,replace()方法的全局替换模式(/World/g)会查找字符串中的所有匹配项,并在它们后添加"JavaScript"。最后,我们使用字符串的全局替换模式将所有"World"子串替换为"JavaScript",并将结果重新赋值给原始字符串。