与Array.find()方法不同的JavaScript find()函数是什么?
标准 ECMAScript 规范从未定义过全局作用域下的find()方法,你遇到的这个属于非标准的宿主内置实现,来源分为两类:
- 你当前使用的定制化 JavaScript 运行环境(比如嵌入式 JS 引擎、旧版浏览器的私有扩展、转译工具链自带的内置API)暴露了这个全局方法,参数规则刚好匹配你这段代码的调用逻辑:第一个参数为待查找字符的 ASCII 编码(你代码里的
0X65就是字符e的 ASCII 编码值),第二个参数为目标查找字符串,返回值为字符首次出现的索引,匹配失败时返回-1。 - 你可以直接在当前代码的运行环境控制台执行
console.log(find.toString()),就能输出这个函数的完整实现逻辑,直接确认它的具体来源和功能。
你看到的IDE提示显示为native code,仅代表这个方法是运行环境用底层语言(C/C++等)实现的内置方法,JavaScript 层面没有暴露上层源码。
内容的提问来源于stack exchange,提问作者Pete Lomax
相关产品推荐
相关产品推荐

