对象的认知

简介: 对象的认知

通过普通属性,排序属性和隐藏类提升对象属性认知

var obj = {};
obj.p1 = "str1";
obj.p6 = "str6";
obj.p2 = "str2";
obj[1] = 'num1';
obj[6] = 'num6';
obj[2] = 'num2';
for (var p in obj) {
    console.log("property:", obj[p])
}
// property: num1
// property: num2
// property: num6
// property: str1
// property: str6
// property: str2

常规属性

键为字符串的属性

特点:根据创建时的顺序排序

var obj = {};
obj.p1 = "p1";
obj.p6 = "p6";
obj.p2 = "p2";
for (var p in obj) {
    console.log("property:", p)
}

排序属性

属性键值为数字的属性

特点∶按照索引值大小升序排序

数字字符串属性也是排序属性

var obj = {};
obj[1] = 'p1';
obj[6] = 'p6';
obj[2] = 'p2';
for (var p in obj) {
    console.log("property:", p)
}

字符串排序属性

var obj = {};
obj['1'] = 'p1';
obj['6'] = 'p6';
obj['2'] = 'p2';
for (var p in obj) {
    console.log("property:", p)
}

字符串索引数组

var arr = [0, 1, 2, 3, 4];
console.log(arr["2"]);
console.log(arr["3"]);
console.log(arr["4"]);

image.png

对象上包含的2个隐藏属性,包含elements和properties属性。分别指向elements对象,properties对象。执行索引的操作的时候v8会先从elements对象遍历读完所有属性之后,在遍历propertie属性。

对象内属性

何为对象内属性∶被保存到对象自身的常规属性,不需要先去访问elements和properties属性,可以直接访问。

内属性的数量:一般为10个

我怎么知道哪些是内属性

        function CustomObject(eCount, pCount) {
            for (let i = 0; i < eCount; i++) {
                this[i] = `e-${i}`
            }
            //添加常规属性 
            for (let i = 0; i < pCount; i++) {
                this[`p-${i}`] = `p-${i}`
            }
        }
// 排序属性6, 普通属性6个
var obj = new CustomObject(2, 2);

image.png

并没有properties属性

目录
相关文章
|
机器学习/深度学习 人工智能 算法
|
JSON 文字识别 API
ocr表格识别返回的json结果,转成excel,这个转化有对应的逻辑代码吗?
ocr表格识别返回的json结果,转成excel,这个转化有对应的逻辑代码吗?
1251 0
|
存储 Ubuntu 数据库
Dockerfile(14) - VOLUME 指令详解
Dockerfile(14) - VOLUME 指令详解
5713 0
|
机器学习/深度学习 Web App开发 人工智能
Colaboratory:手把手教你使用Google免费的云端IDE进行深度学习(免费的GPU加速)的详细攻略
Colaboratory:手把手教你使用Google免费的云端IDE进行深度学习(免费的GPU加速)的详细攻略
Colaboratory:手把手教你使用Google免费的云端IDE进行深度学习(免费的GPU加速)的详细攻略
|
机器学习/深度学习 人工智能 供应链
唯品会 API 赋能,唯品会平台母婴商品用户需求洞察
在电商竞争激烈的环境下,唯品会作为中国领先品牌折扣平台,母婴类目正快速增长。通过开放API赋能,平台实现对母婴用户需求的深度洞察,涵盖数据整合、智能分析与个性化推荐。本文解析API如何驱动需求预测、情感分析与用户细分,助力平台提升运营效率与用户满意度,展望未来结合AI技术的潜力。
|
存储 人工智能 Cloud Native
耳朵经济快速增长背后,喜马拉雅数据价值如何释放 | 创新场景
喜马拉雅和阿里云的合作,正走在整个互联网行业的最前沿,在新的数据底座之上,喜马拉雅的AI、大数据应用也将大放光彩。本文摘自《云栖战略参考》
48039 5
耳朵经济快速增长背后,喜马拉雅数据价值如何释放 | 创新场景
|
存储 数据采集 数据可视化
Python爬取懂车帝/汽车之家评论并做竞品分析
Python爬取懂车帝/汽车之家评论并做竞品分析
|
C# 图形学 开发者
【Unity3D实例-功能-移动】角色移动-通过WSAD(Rigidbody方式)
本文介绍了如何在Unity中使用Rigidbody组件实现角色自由移动,包括模型准备、组件添加、脚本编写与测试运行,帮助开发者快速掌握基础角色控制技巧。
636 0
|
存储 固态存储 安全
阿里云服务器最新收费标准与云服务器活动价格参考
阿里云服务器最新收费标准参考,入门级1核2G配置收费标准最低64.06/月,2核4G收费标准最低68.0/月,4核8G收费标准最低216.0/月,8核16G收费标准最低432.0/月,目前在阿里云的活动中,2核2G最低36元1年,2核4G企业最低199元1年,2核8G活动价格最低652.32元1年,4核8G活动价格最低955.58元1年,8核16G活动价格最低3815.03元1年。更多不同实例规格及配置的阿里云服务器最新收费标准,活动价格如下文所示。
|
存储 Linux iOS开发
文件系统选择合适的文件系统类型
【10月更文挑战第8天】
1517 4