Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/420.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 为什么'search'返回-1而不是未定义或空值_Javascript - Fatal编程技术网

Javascript 为什么'search'返回-1而不是未定义或空值

Javascript 为什么'search'返回-1而不是未定义或空值,javascript,Javascript,我正在使用JavaScript构建一个BODMAS计算器,并编写一些代码来迭代方程的所有项,以找到某些数学运算符和数字 var AddPresent = EquationTerms.search(5); console.log(AddPresent); 如果字符串EquationTerms中存在数字5,它会将该数字在字符串中的索引/位置记录到浏览器的控制台中。如果不存在,则记录-1。虽然这不会干扰我的程序,但我很好奇:为什么它记录为-1,而不是未定义,或者为空? 我在网上搜索过,但没有找到解释

我正在使用JavaScript构建一个BODMAS计算器,并编写一些代码来迭代方程的所有项,以找到某些数学运算符和数字

var AddPresent = EquationTerms.search(5);
console.log(AddPresent);
如果字符串EquationTerms中存在数字5,它会将该数字在字符串中的索引/位置记录到浏览器的控制台中。如果不存在,则记录-1。虽然这不会干扰我的程序,但我很好奇:为什么它记录为-1,而不是未定义,或者为空?
我在网上搜索过,但没有找到解释原因的答案。如果有人能解释这一点,我将不胜感激

这是一个非常常见的约定,由整数和
null
不可互换的语言继承而来


像C这样的强类型语言不允许从声明为返回整数的函数返回
null
,因此需要返回表示“未找到”的整数。因为元素不可能以负索引存在,
-1
是最明显的选择。

这是一个非常常见的约定,从整数和
null
不可互换的语言继承而来

像C这样的强类型语言不允许从声明为返回整数的函数返回
null
,因此需要返回表示“未找到”的整数。因为元素不可能存在于负索引中,
-1
是最明显的选择。

-1表示“未找到匹配项”

它返回-1而不是“false”的原因是字符串开头的指针将位于位置0,这相当于JS中的false。因此,返回-1可以确保您知道实际上没有匹配项。

-1表示“未找到匹配项”


它返回-1而不是“false”的原因是字符串开头的指针将位于位置0,这相当于JS中的false。因此,返回-1可以确保您知道实际上没有匹配项。

。搜索返回字符串或字符串中字符的索引。如果没有得到任何内容,则返回-1related:,.search返回字符串或字符串中字符的索引。如果没有得到任何信息,则返回-1相关:,