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

使用.bind()绑定函数时遭遇‘your match is undefined’错误的技术求助

问题分析与修复方案

嘿,我来帮你搞定这个问题~你现在遇到的your match is undefined问题,主要是两个小细节没处理好:

问题根源

  • result方法没有返回值:原来的club.result()只是用console.log输出结果,本身不会返回任何内容,所以当你在bayern函数里写this.result()时,这个表达式的结果就是undefined,自然会拼接出your match is : undefined。
  • 参数没正确传递:你调用bayern(4,3)时传入的比分参数,没有传递给result方法,导致result里的a和b都是undefined,两个if判断都不会触发,连Win/lose的输出都看不到。

修复方案

1. 让result返回结果文本

把原来的console.log改成返回字符串,这样this.result()就能拿到具体的结果内容,而不是undefined。

2. 给result传递参数

在bayern函数里,把调用时传入的参数传递给this.result(),确保result能拿到比分值进行判断。

修正后的完整代码:

var club = { 
  name : 'name', 
  result :function(a,b) { 
    if (a>b){ 
      return 'Win'; // 改为返回结果字符串
    } else if (a<b){ 
      return 'lose';
    } else {
      return 'Draw'; // 新增平局情况,逻辑更完整
    }
  } 
}
var bayern = function (a,b){ 
  console.log('your match is : ' + this.result(a,b)); // 把参数传递给result
}.bind(club);
bayern(4,3); // 现在会输出:your match is : Win

现在再运行bayern(4,3),参数会正确传递给result方法,判断后返回Win,最终就能输出正确的结果啦~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.28 18:17:51