我正在使用 JavaScript 构建一个 BODMAS 计算器,并编写一些代码来遍历方程的所有项以找到特定的数学运算符和数字。
var AddPresent = EquationTerms.search(5);
console.log(AddPresent);
如果字符串 EquationTerms 中出现数字 5,它会将数字在字符串中的索引/位置记录到浏览器的控制台。如果不存在,则记录 -1。虽然这不会干扰我的程序,但我很好奇:为什么它记录 -1,而不是未定义或 null? 我在网上搜索过,但没有找到解释原因的答案。如果有人能解释这一点,我将不胜感激。
最佳答案
这是一个非常普遍的约定,从整数和 null
不可互换的语言中继承而来。
像 C 这样的强类型语言不允许您从声明为返回整数的函数返回 null
,因此您需要返回一些表示“未找到”的整数。因为元素不可能存在于负索引处,所以 -1
是最明显的选择。
关于javascript - 为什么 `search` 返回 -1 而不是 undefined 或 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34217217/