javascript - IE8 返回 NaN

标签 javascript internet-explorer-8

出于某种原因,在 Internet Explorer 8(可能还有 7)中,以下代码部分不起作用,有什么想法吗?

var middlelatlong = bounds.getCenter();

//when alerted middlelatlong = (51.65494320798432,0.5499464196260533);

var x = 0;
var keys = new Array();
for(var key in middlelatlong){
    if(x <= 1){
        keys[x] = key;
    }
    x++;
}

var southlong = middlelatlong[keys[0]]-0.00017;

在 Internet Explorer 8 中返回 NaN,但在所有其他浏览器中它等于 51.654790472326724

最佳答案

我不知道你想用你的代码实现什么,但我假设 middlelatlong[keys[0]] 返回一些不是数字的东西。

您似乎正在使用 Google Maps API,并且您想要访问坐标的纬度部分。您应该阅读 document正确使用 API 来访问信息,而不是您自己尝试提取信息。

如果getCenter 指的是the method described here , 然后它返回一个 LatLng目的。然后,您可以使用 lat() 访问纬度(或者如果您需要经度,请使用 lng()):

var southlong = bounds.getCenter().lat() - 0.00017;

你的问题是你正在假设一个对象的属性被遍历的顺序,但是这个顺序没有定义,这是依赖于实现的。所以你不能说前两个属性就是坐标,对象还有其他属性,在IE中可能会先遍历。

关于javascript - IE8 返回 NaN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8012786/

相关文章:

javascript - 输入字段未更新

javascript - UIWebView JavaScript 丢失对 iOS JSContext 命名空间(对象)的引用

javascript - 是否可以为 <p> 标记设置工作 src 属性?

html - 为什么这张 table 不会消失?

internet-explorer-8 - 带有 respond.js 和 html5shiv.js 的 Bootstrap 3 仍然无法在 IE8 上运行

jQuery XML 解析 IE7/IE8

javascript - 如何链接具有 namespace 的方法?

internet-explorer - Web 开发人员是否应该升级到 Internet Explorer 8?

html - 嵌套在相对 block 中的绝对 block 在 IE8 中显得较低

javascript - 我应该在 JavaScript 中的什么地方使用按位运算符?