<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>1.字符串replace的方法</title>
</head>
<body>
<script>
var str='2019-02-11';
//str,replace(old,new);
//replace不会修改原有字符串
//var str1=str.replace('-','/');
//console.log(str1);//只把第一个'-'替换成了'/'
//console.log(str);//replace后的原字符串没有发生改变
//正则作为replace的第一个实参
var str2=str.replace(/-/g,'/');
console.log(str2);//用正则加g了以后的话,两个'-'都被'/'替换了
//replace第二个参数可以是回调函数,正则匹配多少次,回调函数执行多少次
//每次执行的返回值return,作为新的内容将匹配到的内容替换掉
//每次执行的返回值return,作为新的内容将匹配到的内容替换掉
var str='2019-02-11';
var str1=str.replace(/-/g,function(str,index,old){
//console.log(1);//正则匹配几次,回调函数就执行几次(此处正则匹配两次,回调函数执行2次)
console.log(arguments);
//arguments[0]//匹配的字符串的内容
//arguments[1]//匹配的字符串的内容的起始位置的索引
//arguments[2]//原有字符串
return '/';
})
//str.replace()就相当于replace执行,但是我们实际看不见,
//function replace(callback){
// typeof callback==='function'&&callback(1,2,3);
//}
//console.log(replace(function(){}));
</script>
</body>
</html>