objects and console.log: нечетность раскрыта
При работе с объектами и console.log вы можете встретить своеобразное поведение. Давайте разгадым эту тайну, анализируя этот фрагмент кода:
foo = [{id: 1},{id: 2},{id: 3},{id: 4}, {id: 5}, ]; console.log('foo1', foo, foo.length); foo.splice(2, 1); console.log('foo2', foo, foo.length);
в Chrom [Объект, объект, объект, объект, объект] 5 0: объект 1: объект 2: объект 3: объект Длина: 4 __proto__: массив [0] 5 (индекс): 23 foo2 [Объект, объект, объект, объект] 4 0: объект 1: объект 2: объект 3: объект Длина: 4 __proto__: array [0]
foo1 [Object, Object, Object, Object, Object] 5 0: Object 1: Object 2: Object 3: Object length: 4 __proto__: Array[0] 5 (index):23 foo2 [Object, Object, Object, Object] 4 0: Object 1: Object 2: Object 3: Object length: 4 __proto__: Array[0]асинхронный экзамен
] Ключ к пониманию этого поведения заключается в асинхронном характере объектного экзамена через консоль.log. В то время как консоль получает ссылку на синхронную информацию о объекте, она не отображает свои свойства, пока вы не развернете ее вручную. Это происходит асинхронно, что приводит к, казалось бы, нелогичному выводу.
методы отладки
Чтобы избежать этого несоответствия, рассмотрим эти методы отладки:
. console.log (obj.foo, obj.bar, obj.baz);) ]
json encode:преобразовать объект в строку с использованием json.stringify (obj)
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3