Это странная вещь, которую я заметил, я не помню, чтобы она когда-либо была проблемой в прошлом.Странное поведение с объектами 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 или я просто имею какую-то странную воображаемую мысль, думающую, что это когда-то было возможным?
Спасибо за вашу помощь в передовых :)
Какой метод вы используете для проверки этого в Google Chrome? Есть ли что-то еще важное? – FrobberOfBits
Вы писали 'console.log' на консоли хром? – giannisf
Я протестировал консоль Chrome 47.0.2526.106 m, и он дает мне ожидаемые результаты (например, 'Object {count: 5}' для 'console.log (anotherobj)' – SWeko