咨询一个Typescript的问题,为啥number类型会变成[object object]

右边是什么 截图看一下

右边返回的是一个函数,计算一个数字返回的,返回的类型是number类型的


这里打印出来的也是[object object]

let curIndex = GameDataManager.func() 这样吗

func() 的 内容 是 image 这些?

是的,里面的都是number的计算

这里是有问题的, 你直接等于一个对象了。 也就是一个obj

你应该是 new 一个 GameDataManger
var game = new GameDataManger ()

然后 let curIndex = game .func()

除非是 单例或者什么? ts 目前还没有这样写过 , 绿色字 明显是 对象

打印中间用逗号不要用加号

不止是打印,用断电调试的内容也是[object object],然后json转成string的时候就变成了[object object]了

是单例来的,static对象,获取的。返回的只是一个number,不算是基础类型吗?


这个是上面那个 GameDataManager.func()

ts 我没用过单例,所以不了解有没有。 但是如果是我要这么写 一般是

image

你能不能截图这个截全

找到了,应该是这个的问题。



这个clientIndex,是点击的时候cocos 的customEventData传过来的,这个clientIndex不能是number类型的吗,或者还需要强转一次?

怀疑是你 clientIndexToServerIndex 函数中传入的 clientIndex 是一个对象,然后在执行 clientIndex + this.selfIndex 这句的时候,触发了 clientIndextoString,导致 serverIndex 的值变成了 [object Object]2

关注一下 clientIndexToServerIndex 运行时的日志输出呢?

第一个参数是cc.event,customEventData是第二个参数

对, 去看一下官方文档

按钮回调的第一个参数是 Event,第二个参数才是 CustomEventData,并且类型是 string

:rofl: 是这个问题,第一个参数是event,没注意到这个。谢谢哈!!第一次写cocos以为那样直接传值就好了。

该主题在最后一个回复创建后14天后自动关闭。不再允许新的回复。