0
点赞
收藏
分享

微信扫一扫

C# 8.0+版本项目 string不可为空

星巢文化 2024-03-16 阅读 7

先来做一道题,请说出打印结果

const obj = {
	a2: 'aaa',
	2: 'aaa',
	1: 'aaaa',
	a1: 'aaa',
}

for(let key in obj){
	console.log(key)
}

结果: 1 2 a2 a1

属性的书写顺序不一定就是对象遍历时的顺序。这涉及到了浏览器对于内存的管理。
因为JS会对对象的属性进行处理,会把所有Number类型的属性提前,然后将Number类型的属性按照升序排序。

为什么这么做?
浏览器为了提高运行的效率,因为Number类型的属性便于运算,方便定位内存地址,但String类型的属性无序,查找速度不如Number。

举报

相关推荐

0 条评论