【问题标题】:JavaScript Alert Not Working After Inserting Objects Into Arrays将对象插入数组后 JavaScript 警报不起作用
【发布时间】:2015-08-18 08:47:13
【问题描述】:

我创建了一个数组,在向其中插入一些对象后,alert() 函数停止工作。代码如下所示。

var map;
var ship_icon = "http://i.imgur.com/ubs6Vp5.png";
var markerArray = [];
function initialize() {
    map = new google.maps.Map(document.getElementById("googleMap"), mapProp);
    addmarker(LocationA, 'Stuff');
    addmarker(LocationB, 'More Stuff');
    addmarker(LocationC, 'Most Stuff');
    alert("This alert() should be shown by the browser.");
}

function addMarker(location, name) {
    marker = new google.maps.Marker({
        position: location,
        map: map,
        title: name,
        icon: ship_icon
    });
    markerArray.push(marker);
}

【问题讨论】:

  • 嗨。检查控制台错误。
  • 您将对象声明为“markerArray”,并将对象插入到 addmarker 中。函数初始化(){ var markerArray = []; markerArray (LocationA, 'Stuff'); markerArray (LocationB, '更多东西'); markerArray (LocationC, 'Most Stuff'); alert("这个 alert() 应该被浏览器显示出来。"); }
  • var markerArray 定义在initialize() 函数中不适用于其他函数(可变范围)。放在你的函数之外,让它成为全局的。
  • 使用开发者工具(控制台)检查代码中的错误。

标签: javascript google-maps


【解决方案1】:

错误似乎是您的函数调用 addmarker(LocationA, 'Stuff') 和函数声明 addMarker(location, name) 之间的差异。

addmarker 未定义。

【讨论】:

    【解决方案2】:

    希望它在某个地方破坏了您的方法addmarker(),这就是为什么您的浏览器中没有弹出警报的原因,

    function insertItem() {
        var itemArray = [];
        itemArray.push('FIrst');
        itemArray.push('Second');
        alert('in');
    }
    
    insertItem();
    

    【讨论】:

    • 这不是真正的答案!
    • 问题完全改变了,现在我看到了一些已添加到代码中的 google map api,以前它只是简单的 java-scripts 点。
    • 使用了 console.log()。发现了错误。感谢您向我推荐如此强大的工具。
    猜你喜欢
    • 2015-12-02
    • 2015-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-24
    相关资源
    最近更新 更多