2015-12-27 3 views
0

Это странная вещь, которую я заметил, я не помню, чтобы она когда-либо была проблемой в прошлом.Странное поведение с объектами 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 или я просто имею какую-то странную воображаемую мысль, думающую, что это когда-то было возможным?

Спасибо за вашу помощь в передовых :)

+0

Какой метод вы используете для проверки этого в Google Chrome? Есть ли что-то еще важное? – FrobberOfBits

+0

Вы писали 'console.log' на консоли хром? – giannisf

+0

Я протестировал консоль Chrome 47.0.2526.106 m, и он дает мне ожидаемые результаты (например, 'Object {count: 5}' для 'console.log (anotherobj)' – SWeko

ответ

1

Я только что был еще один взгляд, и я думаю, что я сделал опечатку в моем коде где-то. Я использовал то, что написал в своем вопросе, и все получилось отлично. Пытался проработать это примерно на полчаса. Как я не видел, что это была просто опечатка?

Думаю, что мне нужно спать: P

+0

Если Chrome должен был ввести такую ​​ошибку, тогда вся сеть перестала бы функционировать. нашел опечатку, затем вместо отправки ответа удалите свой вопрос. –

Смежные вопросы