indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。/indexOf 方法,返回 String 对象内第一次出现子字符串的字符位置。
该方法将从头到尾地检索字符串 stringObject,看它是否含有子串 searchvalue。开始检索的位置在字符串的 fromindex 处或字符串的开头(没有指定 fromindex 时)。如果找到一个 searchvalue,则返回 searchvalue 的第一次出现的位置。stringObject 中的字符位置是从 0 开始的。
var y = 0
var x = 0
while(true){
var x =str.indexOf("a",x)
if(x != -1)rutern y
y++
x++
}
//思路 通过查找第一个a并且赋值给x这个a的位置的下标下一次查找之前让这个下标加1开始查找 并且记录在y中
replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。
字符串 stringObject 的 replace() 方法执行的是查找并替换的操作。它将在 stringObject 中查找与 regexp 相匹配的子字符串,然后用 replacement 来替换这些子串。如果 regexp 具有全局标志 g,那么 replace() 方法将替换所有匹配的子串。否则,它只替换第一个匹配子串。
ECMAScript v3 规定,replace() 方法的参数 replacement 可以是函数而不是字符串。在这种情况下,每个匹配都调用该函数,它返回的字符串将作为替换文本使用。该函数的第一个参数是匹配模式的字符串。接下来的参数是与模式中的子表达式匹配的字符串,可以有 0 个或多个这样的参数。接下来的参数是一个整数,声明了匹配在 stringObject 中出现的位置。最后一个参数是 stringObject 本身。
并不会影响之前字符串
这次考试查找字符串中的所有“a”替换成“b”
var y = 0
while(true){
var x = str.indexOf("a",x)
if(x != -1)rutern str
var str = str.replace("a","b")
x++
}
//查找字符串中有没有“a”如果有就开始替换第一个并且将字符串str覆盖成替换后的然后开始循环查找下一个,直到找不到一下个字符串“a”就跳出循环放回字符串