JavaScript数组在将值推送到它之前跟踪为具有值

时间:2017-05-18 15:03:55

标签: javascript arrays

我正在开发一个跟踪网站上点击链接的项目。我试图将点击的链接存储在本地存储对象中。为了能够处理我的代码中的链接,我正在创建一个本地数组,从本地存储中获取URL(单击的链接)。

在一些调试过程中,我注意到本地数组在实例化之后就有一个值,然后将一个值推送到它。

代码:

console.log("before instantiation");

var clickedLinksArrTest = [];

console.log("after instantiation");

console.log("before pushing the url");

console.log("clickedLinksArrTest ", clickedLinksArrTest);

clickedLinksArrTest.push(localStorage["clickedLinks"]);

console.log("after pushing the url");

console.log("clickedLinksArrTest ", clickedLinksArrTest);

我在浏览器控制台中看到的是:

Screen shot of browser console output

看起来,即使在我将url推入其中之前,数组中的索引0已经是一个值。我试图找出一个特定的错误,我不知道这是否可能导致它,所以我想了解这里发生了什么,以防它实际上是导致错误的原因我&#39 ;我试图解决。

1 个答案:

答案 0 :(得分:1)

要看到差异,请尝试以下方法:

console.log("before instantiation");

var clickedLinksArrTest = [];

console.log("实例化后#34;);

console.log("在推送网址之前");

console.log(" clickedLinksArrTest",clickedLinksArrTest.slice(0));

clickedLinksArrTest.push(localStorage的[" clickedLinks"]);

console.log("推送网址后#34;);

console.log(" clickedLinksArrTest",clickedLinksArrTest);