我正在努力从函数调用返回数组-以下代码:

///////////// Generic Functions
function spotJoinPosition() {
    var pos = {
                offset: $('div#spotJoinSite').offset(),
                width: $('div#spotJoinSite').width(),
                height: $('div#spotJoinSite').height()
    }
    return(pos);
}


        var positionData = spotJoinPosition();
        alert(positionData);
        alert(positionData[width]);

当我警告positionData时,我得到[object] [object],然后未定义。

建议?

最佳答案

alert(positionData[width]);
这将警告positionData中的键,并使用变量width作为键。您尚未定义一个名为width的变量,因此它实际上是在查找positionData[undefined]。您想要的是positionData.widthpositionData['width'],但是这里没有引号的原因。

仅当您的键具有非字母数字字符时,才需要使用引号。 positionData['some-key']有效,但是positionData.some-key是语法错误,因为变量中不能包含-

另外,您的代码应该出错,因为宽度没有在任何地方定义。我担心您的代码中某处有一个全局定义的width变量。

10-06 12:24