You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何通过方法定义新方法的方式无法生效?

自定义String方法splitb无法正常运行的原因分析

你的问题核心在于自定义方法没有返回值:

  • 你写的splitb方法里,仅调用了this.split('b')执行分割操作,但没有用return把操作结果返回出去。
  • JavaScript中,函数如果没有显式写return语句,默认会返回undefined,所以console.log('aba'.splitb())会输出undefined。
  • 原生split方法内部自带返回逻辑,会把分割后的数组返回,因此能正常输出预期的["a", "a"]。

修复后的代码如下:

String.prototype.splitb = function () {
  return this.split('b') // 添加return返回分割结果
}
console.log('aba'.splitb())   // 输出 ["a", "a"]
console.log('aba'.split('b')) // 输出 ["a", "a"]

内容的提问来源于stack exchange,提问作者Ooker

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 14:52:01