对象的认知

简介: 对象的认知

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

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属性

目录
相关文章
|
7月前
|
人工智能 安全 搜索推荐
浅谈知识的结构与认知(一)
浅谈知识的结构与认知(一)
|
机器学习/深度学习 人工智能 自然语言处理
人工智能的概念、分类与实现方法
什么是人工智能 人工智能 又被称为机器智能,是一种综合计算机科学、统计学、语言学等多种学科,使机器 模仿、展现 人类智能的 技术。 说到人工智能我们不得不提到图灵测试,那么什么是图灵测试呢? 计算机科学家 艾伦·图灵 在 1950 年发表了一篇论文,文中提出了一项思想实验:我们委托一名人类测试员,使用测试对象能够理解的语言,分别和身处密室中的一台机器、一名人类自由地进行对话。假如经过若干轮对话后,测试员依然无法分辨出谁是机器、谁是人类,则说明该机器通过测试,是具有智能的。 人工智能的应用也可分为四大主要组成部分: 计算机视觉:辨识图像的形状、颜色、含义; 自然语言处理:理解人类的自然语言
376 0
|
7月前
|
存储 编译器 C语言
C++的面向诗篇:类的叙事与对象的旋律
C++的面向诗篇:类的叙事与对象的旋律
39 0
|
自然语言处理 算法 测试技术
思维链如何释放语言模型的隐藏能力?最新理论研究揭示其背后奥秘
思维链如何释放语言模型的隐藏能力?最新理论研究揭示其背后奥秘
309 0
|
消息中间件 算法 JavaScript
对领域的认知比会写代码更重要
对领域的认知比会写代码更重要
|
新零售 供应链 架构师
「技术人生」第2篇:学会分析事物的本质
对于研发同学而言,探究事物的本质,是最基础最核心最先需要被掌握的技能,没有之一。
5043 13
「技术人生」第2篇:学会分析事物的本质
|
测试技术 领域建模 数据安全/隐私保护
用“实例化需求”,让需求澄清更高效(上)
用“实例化需求”,让需求澄清更高效(上)
640 0
用“实例化需求”,让需求澄清更高效(上)
《实践者的研究方法》—— 第1章 软件的本质 1.1 软件的本质
本节书摘来自华章出版社《实践者的研究方法》一书中的第1章,第1.1节,作者布鲁斯 R. 马克西姆(Bruce R. Maxim)郑人杰 马素霞,更多章节内容可以访问云栖社区“华章计算机”公众号查看。 第1章 Software Engineering: A Practitioner’s Approach, Eighth Edition 软件的本质 要 点 浏 览 概念:计算机软件是由专业人员开发并长期维护的软件产品。
2145 1