收藏
回答

我发现一个bug ,succes:function 返回 [object,object] ?


我使用的getLocation返回的res是 [object,object]


但是我把方法 改一下就变了。如下:



====================================================

也就是把

success: function(res) {

}

改成了

success(res) {

}

返回的结果能显示控制台了。


这是什么情况。为什么会这样。有没有知道的大神。


回答关注问题邀请回答
收藏

4 个回答

  • 29
    29
    2019-12-04

    字符串拼接对象不行的哟,可以这样打印,console.log('res', res)

    2019-12-04
    有用 1
    回复
  • 鲤子
    鲤子
    2019-12-04
    字符串拼接对象不行的哟,可以这样打印,console.log('res', res)
    2019-12-04
    有用 1
    回复
  • sheng
    sheng
    2019-12-04

    第一次的打印是 console.log("res:" + res), 输出的结果是字符串

    即将res以字符串打印,就变成了"res:"+"[object Object]"="res: [object Object]";

    第二次的打印是 console.log(res),输出的结果是对象

    即将res以对象打印,就变成了{ latitude: 34.16717, longitude: 112.84437  ....}

    2019-12-04
    有用 1
    回复 2
    • 菜鸟程序员-陈豪
      菜鸟程序员-陈豪
      2019-12-04
      这是官方提供的接口。为什么会有2种不同的结果。 第一种返回的 [object Object] ,也是可以用的。 只是仅仅控制台输出的[obj,obj ]
      2019-12-04
      回复
    • sheng
      sheng
      2019-12-04回复菜鸟程序员-陈豪
      不是这个问题,js字符串用法的原因,字符串+xx都是默认字符串进行拼接,xx不是字符串,也会转为字符串,你第一次打印就是,字符串"res:" + 对象res,其实是相当于把对象res当做字符串,和字符串“res:”进行字符串拼接操作,而第二次打印,就是直接打印对象res,输出的就是对象
      2019-12-04
      回复
  • 菜鸟程序员-陈豪
    菜鸟程序员-陈豪
    2019-12-04

    其实我想说的。

    success: function(res) {

    }

    改成了

    success(res) {

    }



    这种改动也会影响  接受的res  这是啥原因。

    2019-12-04
    有用
    回复 2
    • sheng
      sheng
      2019-12-04
      没影响啊
      2019-12-04
      回复
    • i
W
      i W
      2019-12-04
      你这种修改是没有影响的,有影响的是你第二种是直接输出的 res,不是像你第一次输出的是  res: + res,如果你第二种也改成res : + res  就跟你第一次输出的结果是一样的了
      2019-12-04
      回复
登录 后发表内容
问题标签