Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript——基本索引_Javascript - Fatal编程技术网

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
。LogDo
pos
语句内部,而
语句覆盖语句外部的
pos
吗?您可以这么说,但这并不完全是
覆盖。您只是为该变量指定了一个新值。该值仅在
语句的
范围内生效,对吗?一点也不,就像您更改count的值(增加它)一样,您也为
pos
指定了一个新值。你可以试试