JavaScript对象的奇怪行为

时间:2015-12-27 02:26:29

标签: javascript google-chrome

这是一个我注意到的奇怪的事情,我不记得它曾经是一个问题。

在谷歌浏览器中(47.0.2526.106米),对象似乎没有像他们应该那样传递给其他变量。以下是我一直在测试的代码片段以及预期的结果:

预期结果

var myobj = {
    count: 5
};

console.log(myobj) // will log something like object(count: 5)
console.log(myobj['count']) // 5

var anotherobj = myobj;

console.log(anotherobj) // will log something like object(count: 5)
console.log(anotherobj['count']) // 5

上面是我记得的情况,因为对象作为引用被传递,所以你仍然得到数据,但在另一个名称下,实际上似乎实际发生的是:

**实际结果*

var myobj = {
    count: 5
};

console.log(myobj) // will log something like object(count: 5)
console.log(myobj['count']) // 5

var anotherobj = myobj;

console.log(anotherobj) // [object Object] <- this seems to be a string
console.log(anotherobj['count']) // undefined

我不知道发生了什么,这是一个错误是最新版本的Chrome还是我只是有一些奇怪的想象力思想认为这曾经是可能的?

感谢您在高级方面提供的帮助:)

1 个答案:

答案 0 :(得分:1)

我只是看了一眼,我想我的代码在某个地方写了一个错字。我使用了我在问题中写的内容并且工作正常。一直试图解决这个问题半小时左右。我怎么没看到这只是一个错字?

认为我需要睡觉:P