js 对象问题

我只是个普通人
  • 0
新手上路,请多包涵

image.png
对象展开之后顺序发生变化,什么原因啊?
image.png

回复
阅读 173
3 个回答

首先对象属性是无序的,console展开会按照A-z,0-9,(中文不知道啥顺序)的顺序排列展示,纯粹是给人看着方便,不会改变原数据解构的顺序。

javascript里面的对象属于哈希表,他key的顺序没有实际意义(也可将其当作数组使用,只不过性能会略低一些),在输出时会将对象的key分为两种一种是数字类型,一种是字符串类型,数字类型从小到大输出(数字类型的key在满足一定条件下会单独存在一个数组中),字符串类型会按照插入顺序输出
展开后key的顺序变了,因该是浏览器会将字符串类型的key按照字典序排了下顺序

console.log('桥'.charCodeAt(0))
console.log('梅'.charCodeAt(0))
console.log('西'.charCodeAt(0))
/*
26725
26757
35199
*/

对象是无序的啊

你知道吗?

宣传栏