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