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

Node.js类内函数触发后console.log重复执行两次问题咨询

解决你的Node.js类方法重复执行问题

嘿,我一眼就看出问题啦!你看这段代码里的两个触发点:

  • 当你创建Client类的实例var RR = new Client;时,类的constructor构造函数会自动运行,而你在构造函数里已经调用了this.test(),这就第一次打印出了"testing"。
  • 紧接着你又手动调用了RR.test(),这就触发了第二次调用,所以控制台才会输出两次内容。

给你两个修改方案,选一个适合你的需求就行:

方案一:移除构造函数里的自动调用

如果你只需要手动触发test方法,就把构造函数里的this.test()删掉:

class Client{ 
  constructor(){ 
    // 移除构造函数内的test调用
  } 
  test(){ 
    console.log("testing"); 
  } 
} 
var RR = new Client; 
RR.test(); 

这样运行后只会打印一次"testing"。

方案二:移除手动调用的RR.test()

如果你希望创建实例时就自动执行test方法,那就去掉后面手动调用的部分:

class Client{ 
  constructor(){ 
    this.test(); 
  } 
  test(){ 
    console.log("testing"); 
  } 
} 
var RR = new Client; 
// 移除手动调用的RR.test()

这样创建实例时就会自动打印一次内容,不会重复。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 03:31:38