对象的认知

简介: 对象的认知

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

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个隐藏属性,包含elementsproperties属性。分别指向elements对象,properties对象。执行索引的操作的时候v8会先从elements对象遍历读完所有属性之后,在遍历propertie属性。

对象内属性

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

内属性的数量:一般为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属性

目录
相关文章
|
5月前
|
人工智能 自然语言处理 算法
人工智能产生的幻觉问题真的能被看作是创造力的另一种表现形式吗?
人工智能产生的幻觉问题真的能被看作是创造力的另一种表现形式吗?
|
12月前
|
机器学习/深度学习 人工智能 自然语言处理
人工智能的概念、分类与实现方法
什么是人工智能 人工智能 又被称为机器智能,是一种综合计算机科学、统计学、语言学等多种学科,使机器 模仿、展现 人类智能的 技术。 说到人工智能我们不得不提到图灵测试,那么什么是图灵测试呢? 计算机科学家 艾伦·图灵 在 1950 年发表了一篇论文,文中提出了一项思想实验:我们委托一名人类测试员,使用测试对象能够理解的语言,分别和身处密室中的一台机器、一名人类自由地进行对话。假如经过若干轮对话后,测试员依然无法分辨出谁是机器、谁是人类,则说明该机器通过测试,是具有智能的。 人工智能的应用也可分为四大主要组成部分: 计算机视觉:辨识图像的形状、颜色、含义; 自然语言处理:理解人类的自然语言
300 0
|
人工智能 自然语言处理 算法
什么是人工智能领域模型的 temperature 参数?
什么是人工智能领域模型的 temperature 参数?
|
2月前
|
人工智能 算法 数据安全/隐私保护
探索技术的本质:从代码到创新的旅程
【8月更文挑战第19天】在技术的海洋中,我们常常沉浸于代码的编写与算法的优化,却忽略了技术背后的深层含义。本文将通过个人的技术感悟,探讨技术不仅仅是工具和语言的结合体,更是连接思想与现实的桥梁。我们将一同回顾技术如何塑造我们的思考方式,以及它如何影响我们的生活和工作。
|
5月前
|
JavaScript 前端开发 程序员
掌握构造函数:打破面向对象编程难题(二)
掌握构造函数:打破面向对象编程难题
|
5月前
|
JavaScript 前端开发
掌握构造函数:打破面向对象编程难题(一)
掌握构造函数:打破面向对象编程难题
|
机器学习/深度学习 人工智能 自然语言处理
什么是人工智能领域模型的 Presence Penalty 参数?
什么是人工智能领域模型的 Presence Penalty 参数?
|
自然语言处理 算法 测试技术
思维链如何释放语言模型的隐藏能力?最新理论研究揭示其背后奥秘
思维链如何释放语言模型的隐藏能力?最新理论研究揭示其背后奥秘
293 0
|
消息中间件 算法 JavaScript
对领域的认知比会写代码更重要
对领域的认知比会写代码更重要
|
新零售 供应链 架构师
「技术人生」第2篇:学会分析事物的本质
对于研发同学而言,探究事物的本质,是最基础最核心最先需要被掌握的技能,没有之一。
5012 5
「技术人生」第2篇:学会分析事物的本质
下一篇
无影云桌面