收藏
回答

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


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


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



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

也就是把

success: function(res) {

}

改成了

success(res) {

}

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


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


最后一次编辑于  12-04
回答关注问题邀请回答
收藏

4 个回答

  • sheng
    sheng
    12-04

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

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

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

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

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

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

    12-04
    赞同
    回复
  • 鲤子
    鲤子
    12-04
    字符串拼接对象不行的哟,可以这样打印,console.log('res', res)
    12-04
    赞同
    回复
  • 陈豪-程序员🐬
    陈豪-程序员🐬
    12-04

    其实我想说的。

    success: function(res) {

    }

    改成了

    success(res) {

    }



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

    12-04
    赞同
    回复 2
    • sheng
      sheng
      12-04
      没影响啊
      12-04
      回复
    • 小心眼~
      小心眼~
      12-04
      你这种修改是没有影响的,有影响的是你第二种是直接输出的 res,不是像你第一次输出的是  res: + res,如果你第二种也改成res : + res  就跟你第一次输出的结果是一样的了
      12-04
      回复
问题标签