JavaScript——基本索引
在下面的代码片段中,JavaScript——基本索引,javascript,Javascript,在下面的代码片段中,pos=string.indexOf('e',pos+1)扮演什么角色 var string = 'To be, or not to be, that is the question'; var count = 0; var pos = string.indexOf('e'); while ( pos !== -1 ) { count++; pos = string.indexOf( 'e', pos + 1 ) } console.log(count);
pos=string.indexOf('e',pos+1)
扮演什么角色
var string = 'To be, or not to be, that is the question';
var count = 0;
var pos = string.indexOf('e');
while ( pos !== -1 ) {
count++;
pos = string.indexOf( 'e', pos + 1 )
}
console.log(count);
indexOf
函数的第二个参数是要开始在字符串中查找的索引
正如你在书中看到的
如果在这种情况下不使用第二个参数,您将永远获得第一个“e”的位置。
此函数用于计算该短语中“e”的数目。函数的第二个参数是要开始在字符串中查找的索引 正如你在书中看到的 如果在这种情况下不使用第二个参数,您将永远获得第一个“e”的位置。 此函数用于计算该短语中“e”的数目。从中,
indexOf
采用一个附加参数:
fromIndex(可选)
开始在字符串中向前搜索的索引。它可以是任何整数。默认值为0,因此搜索整个数组。如果fromIndex<0,则搜索整个字符串。如果fromIndex>=str.length,则不搜索字符串,并返回-1。除非searchValue是空字符串,否则将返回str.length
仅从这些信息判断,很容易推断出整个程序的行为:
- 它统计
在整个字符串中出现的次数,使用e
查找每次出现的次数string.indexOf
string.indexOf
仅返回该字符在字符串中第一次出现的位置。通过使用pos
的值从index传递和更新,string.indexOf
通过忽略pos
之前的字符来查找所有后续出现的e
每次计数器更新时,它都会更新,允许整个程序计算e
出现在字符串中的次数。从索引中选择一个附加参数:
fromIndex(可选)
开始在字符串中向前搜索的索引。它可以是任何整数。默认值为0,因此搜索整个数组。如果fromIndex<0,则搜索整个字符串。如果fromIndex>=str.length,则不搜索字符串,并返回-1。除非searchValue是空字符串,否则将返回str.length
仅从这些信息判断,很容易推断出整个程序的行为:
- 它统计
e
在整个字符串中出现的次数,使用string.indexOf
查找每次出现的次数
string.indexOf
仅返回该字符在字符串中第一次出现的位置。通过使用pos
的值从index
传递和更新,string.indexOf
通过忽略pos
之前的字符来查找所有后续出现的e
计数器每次更新时都会更新,使整个程序能够计算e
出现在字符串中的次数。字符串中的第二个参数。indexOf是要开始搜索的字符串的索引
看这里-
这段代码所做的只是计算句子中e的数量。string.indexOf中的第二个参数是要开始搜索的字符串的索引
看这里-
这个代码所做的就是计算句子中e的数量
indexOf()
方法返回
字符串中的指定值
语法:
string.indexOf(searchvalue,start)
- searchvalue-[必需]。要搜索的字符串
- 开始-[可选]。默认值为0。在哪个位置开始搜索
返回一个数字,表示指定的搜索值第一次出现的位置,如果从未出现,则返回-1
var str = "To be, or not to be, that is the question";
var n = str.indexOf("e", 5);
上述代码返回字符串中第一个出现的字母“e”,从位置5开始搜索:
更多信息:
注意:indexOf()
方法区分大小写
indexOf()
方法返回
字符串中的指定值
语法:
string.indexOf(searchvalue,start)
- searchvalue-[必需]。要搜索的字符串
- 开始-[可选]。默认值为0。在哪个位置开始搜索
返回一个数字,表示指定的搜索值第一次出现的位置,如果从未出现,则返回-1
var str = "To be, or not to be, that is the question";
var n = str.indexOf("e", 5);
上述代码返回字符串中第一个出现的字母“e”,从位置5开始搜索:
更多信息:
注意:indexOf()
方法区分大小写。在语句内部是否有pos
,而语句覆盖了语句外部的pos
?可以这么说,但这并不完全是覆盖。您只是为该变量指定了一个新值。该值仅在语句的范围内生效,对吗?一点也不,就像您更改count的值(增加它)一样,您也为pos
指定了一个新值。您可以尝试在控制台中添加pos
。LogDopos
在语句内部,而语句覆盖语句外部的pos
吗?您可以这么说,但这并不完全是覆盖。您只是为该变量指定了一个新值。该值仅在语句的范围内生效,对吗?一点也不,就像您更改count的值(增加它)一样,您也为pos
指定了一个新值。你可以试试