Array Variable中的Javascript对象为零

时间:2015-09-17 07:33:11

标签: javascript arrays

我创建了一个数组。然后我向这个数组添加一个对象。我后来尝试从数组中的对象访问一个值,但它返回0.这里有什么问题?

代码:

var value;
var list = [];


// CALLED FIRST:
function setup() {
    document.onmousemove = function(e) {
        e.preventDefault();
        value = e.pageX;
    }
}

// CALLED SOMETIMES AFTER UPDATE:
function logInfo() {
    var j = 0;
    while (j < list.length) {
        console.log(list[j].value); 
        j++;    
    }
}

// CALLED EVERY 10 MS:
function update(dt) {
    var object = {
        value : value; 
    };
    list.push(input);
}

1 个答案:

答案 0 :(得分:0)

问题是您保存了referance valueNew,这是一个数字。如果更新此引用,则不会更新object.value。您需要保存对象本身的引用,并更新它的value属性,这将更新对象本身。分配后,数字/字符串的引用未连接。

我不清楚这是用于什么以及具体如何,所以代码只是一个例子:

var objects= [];
var currentValue = 0;

function update() {

    var object = {
        value : currentValue
    };
    console.log(object.value); // LOGS CORRECT VALUE
    objects.push(object);
};

document.onmousemove = function(e) {
    e.preventDefault();
    currentValue = e.pageX;
}

// Calling update will read currentValue,
// and push an object with the currentValue as object.value
update();

如果您想要使用当前的e.pageX动态添加对象,您可以执行以下操作:

 ln -s targetfile symlink