gpt4 book ai didi

javascript - 通过 Javascript alert() 和 console.log() 显示对象时显示不同的输出

转载 作者:行者123 更新时间:2023-11-29 19:42:58 26 4
gpt4 key购买 nike

这可能是非常基础的,但我缺少解释。如果我提醒 getBounds() 方法返回的 LatLngBounds,我会看到两个纬度/经度值,正如预期的那样:((num1,num2),(num3,num4))。显然 getBounds() 方法返回一个对象。如果我对同一个返回对象执行 console.log,我将显示具有以下属性的对象:

 ga: Dg
b: -87.73588298847653
d: -87.56422161152341
...
ta: Ig
b: 41.8883823394486
d: 41.811660656497494
...

问题:A。 alert() 是否将对象转换为字符串?我不这么认为。b.这些ga,ta是什么?例如,我会预料到一些名称,例如 sw、ne(代表西南和东北),后跟 lat 和 long。这些ga、ta、b、d名字有什么含义吗?

更新:我更新了标题以删除对 Google Maps API 的引用,因为问题和答案对任何 Javascript 对象都是通用的。碰巧我在做Map API编码的时候遇到了。如果您想知道为什么您的警报输出与某些对象的 console.log 输出不同,那么这个答案值得一读。另请阅读

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/toString

最佳答案

alert() 需要一个字符串。如果您检查 console.log 中的 bounds 对象(展开 __proto__ 属性),您会看到还有函数 toString() 调用 alert(bounds )

属性 gata 是转换为 sw 和 ne 值的边界数据的内部表示。直接使用/操作它们是不明智的,因为当更改此内部结构时,您的代码可能会崩溃。

另外,如果你调用

console.log('bounds: ' + bounds);

结果将是,例如

bounds: ((-34.028249, 151.157507), (-33.80010128657071, 151.28747820854187)) 

因为字符串连接调用了bounds.toString()方法。

关于javascript - 通过 Javascript alert() 和 console.log() 显示对象时显示不同的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21882232/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com