Javascript看似存在的对象

标签 javascript console.log

不幸的是,我无法轻松粘贴生成变量的整个脚本,但我认为它也不相关。如有需要,请详细指导。

Javascript 显示这个:

console.log(gl.boxes);

显示:

[{element:{0:{jQuery19104057279333682955:9}, context:{jQuery19104057279333682955:9}, length:1}, boxName:"testi1", boxX:1, boxY:"180"}]

所以 gl.boxes[0] 应该存在,对吧?还是……

console.log(gl.boxes[0])

显示:未定义。

那么我可以在这里遗漏什么?

编辑: 我将粘贴更多关于生成 gl.boxes 的代码。应该主要是关于首先将变量创建为数组:

gl.boxes = [];

然后有一个处理创建和推送新对象的函数:

this.addBox = function (box) {
    var retBox = {};
    retBox.element = $(document.createElement('div'));

    retBox.boxName = box.boxName;
    retBox.boxX = box.boxX ? box.boxX : rootParent.defaultX;
    retBox.boxY = box.boxY ? box.boxY : rootParent.defaultY;

    retBox.element
            .html(retBox.boxName)
            .addClass(rootParent.boxClass)
            .offset({ left: retBox.boxX, top: retBox.boxY })
            .draggable({
                stop: gl.URLs.dragStopDiv(retBox)
            });
    retBox.element.appendTo(rootParent.containerDiv);
    gl.boxes.push(retBox);
    return retBox;
};

对象是基于 URL 创建的。 IE。在此测试中,我有内联 JS:

gl.objects.addBox({"boxName":"testi1","boxX":"50","boxY":"180"});

只有其他使用 gl.boxes 的地方才会根据对象生成 URL:

for(key in gl.boxes) {
    var position = gl.boxes[key].element.position();

    uri += 
        "boxName["+key+"]="+gl.boxes[key].boxName+"&"+
        "boxX["+key+"]="+position.left+"&"+
        "boxY["+key+"]="+position.top+"&";
}

最佳答案

也许您需要更改循环以使用索引:

var i = 0,
    position = {};

for (i = 0; i < gl.box.length; i += 1) {
    position = gl.boxes[i].element.position();
    uri += "boxName[" + i + "]=" + gl.boxes[i].boxName + "&" + "boxX[" + i + "]=" + position.left + "&" + "boxY[" + i + "]=" + position.top + "&";
}

关于Javascript看似存在的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17946935/

相关文章:

javascript - Next.js 身份验证示例 - 基于身份验证的重新路由,环绕其他功能

PHP 事件日历。 javascript按钮不会按下

javascript - 在需要搜索和替换的代码中转义括号(Sublime Text2)

javascript console.log 在同一对象上显示不同的值

javascript - JS 函数按预期循环双倍

javascript - 如何在控制台中调试我的数据?

javascript - 你如何检查一行是否已经存在 jquery

javascript - 音频播放器不适用于多个音频

javascript - jQuery 在悬停时改变背景

javascript - 如何使用 Node.js 读取一系列 JavaScript 文字?