admin管理员组

文章数量:1418861

In this case I would expect the log to output anything for metaData[price] but instead I have an error telling me metaData[price] is not defined.

function getMetaData(item) {
    var metaData = new Object();
    metaData[name] = $(item).siblings('.itemModalHolder').find('.item_name').text();
    metaData[price] = "anything";
    console.log(metaData[price]);
    return metaData;
}

In this case I would expect the log to output anything for metaData[price] but instead I have an error telling me metaData[price] is not defined.

function getMetaData(item) {
    var metaData = new Object();
    metaData[name] = $(item).siblings('.itemModalHolder').find('.item_name').text();
    metaData[price] = "anything";
    console.log(metaData[price]);
    return metaData;
}
Share Improve this question edited Jun 28, 2013 at 20:58 Joe 15.6k8 gold badges51 silver badges57 bronze badges asked Jun 28, 2013 at 20:53 rib3yerib3ye 2,9437 gold badges35 silver badges52 bronze badges
Add a ment  | 

1 Answer 1

Reset to default 7

You need to quote the object keys:

metaData['name'] = $(item).siblings('.itemModalHolder').find('.item_name').text();
metaData['price'] = "anything";

or the much cleaner syntax

metaData.name  = $(item).siblings('.itemModalHolder').find('.item_name').text();
metaData.price = "anything";

本文标签: javascriptTrouble returning simple array quotUncaught ReferenceError n is not defined quotStack Overflow