第三章 对象

作者: 刘三慢 | 来源:发表于2018-06-03 16:46 被阅读0次

        JavaScript中的对象是可变的键控集合(一组数据和方法的集合),它将很多值聚合在一起,然后通过名字访问这些值。对象可以看作是这些属性的容器,起哄每个属性都拥有名字和值。属性名字可以是包括空字符串在内的任意字符串。属性可以是除undefined值之外的任何值。         

 对象字面量

一个对象字面量就是包围在一对花括号中的零和多个“名/值”对,是一种非常方便地创建新对象值的表示法。

对象字面量

属性名可以骚包括空字符串在内的任何字符串。在对象字面量中,如果属性名是一个合法的JavaScript标识符且不是保留字,则可以不用引号括住属性名。

属性的值可以从包括另一个对象字面量在内的任意表达式中获得,并且对象是可以嵌套的。

检索

要获取对象里面包含的值,可以采用对象名后面[ ]括住一个对象字面量名称,如果此名称是一个合法的JavaScript标识符且不说保留字可以采用  .  表示法(可读性更好)。

||运算符可以填充默认值。如果尝试从undefined的成员属性中取值会导致TypeError异常,可以通过&&运算符来避免错误。

检索

更新

对象里的值可以通过赋值来更新。如果属性名已经存在那么这个属性的值会被替换,如果不存在那么该属性就会添加到对象中。

原型

每个对象都连接到一个原型对象,并且从中继承属性。原型连接在更新时是不起作用的,只有在检索值的时候才被用到。如果在获取对象的某个属性时,但该此属性不存在与该对象中,那么JavaScript会尝试从原型对象中获取属性值。如果此原型对象也没有该属性,就会继续从它的原型对象中查找,以此类推,直到该过程最后到达终点Object.prototype。如果想要的属性完全不存在于原型链中,那么结果就是undefined。这个过程被称为委托

反射

检查对象并确定对象的属性类型可以使用

  typeof

检查属性类型

hasOwnProperty()

此方法会返回一个布尔值,指示对象自身属性中是否具有指定的属性。

语法 obj.hasOwnProperty(prop)   prop要检测的属性 字符串名称或者 Symbol

last-name是原型当中的属性,此方法不会检查原型链,所以为false。

枚举

for in语句可以用来遍历一个对象中的所有属性名。该枚举过程将会列出所有的属性-包括函数和原型中的属性。如果想要过滤掉不想要的值可以使用 hasOwnPropertyt()方法,以及使用typeof排除函数。

for in循环属性名出现的顺序是不确定的,如果想要按照特定顺序出现,最好避免使用for in语句,而是创建一个数组,在齐总以正确顺序包含属性名,然后for循环出来使用它们。

枚举

删除

delete运算符可以用来删除对象中的属性,如果对象包含该属性,那么该对象就会被一处,不会触及原型链中的任何对象。

如果对象和原型链中存在相同名称的属性,删除对象中的属性之后,会使原型链中的属性显现出来。

减少全局污染

JavaScript可以随意的的定义全局变量,应该避免定义太多的全局变量,最笑话使用全局变量的方法之一就是为应用创建一个唯一的全局变量。

定义一个唯一的全局变量,使它成为容器

只有把全局性的资源都装载到一个名称空间下,就会与其它组件或者类库发生的冲突的可能性降到最低。或者就是当你代码合并压缩时,和其它脚本的冲突会减小。

相关文章

  • JavaScript 忍者秘籍笔记——函数是根基

    第三章 函数是根基 函数的独特之处 函数是第一型(first-class)对象 对象在 javascript 中有...

  • 初探OC对象原理(三)

    前言: 这是探究OC对象原理的第三章,也是按照对象的 的底层实现原理顺序来进行的。今天我们探究下对象的本质以及一...

  • 领略不一样的电子表格Numbers

    第一章 了解 Numbers 第二章 走进 Numbers 第三章 表格对象 第四章 单元格对象 第五章 图表对象...

  • 【QNX】pps开发指南(3):持久性

    第三章: 持久性 PPS在运行时是在内存中维护它的对象的。如有需要,它将: (1)将其对象保存...

  • 《Effective Java》之 Object 类继承相关

    第三章 从Object继承一些基本方法时的注意事项 原翻译 对于所有对象都通用的方法 Object 对象是Jav...

  • 第三章 对象

    JavaScript中的对象是可变的键控集合(一组数据和方法的集合),它将很多值聚合在一起,然后通过名字访问这些值...

  • 第三章:对象

    特别说明,为便于查阅,文章转自https://github.com/getify/You-Dont-Know-JS...

  • 第三章《对象》

    引言 JavaScript的简单类型包括数字、字符串、布尔值、null和undefined值。其他所有的值都是对象...

  • 《JAVA并发编程实战》读书笔记----持续更新

    第三章 对象的共享 3.1可见性 可见性:在我看来,可见性的的意思是操作可见性;就是共享的可变的对象的所有操作后的...

  • 算计

    《余生皆假期》第三章:议员被害,出轨对象被分配到的任务是毁灭凶具,而出轨对象万万没想到的是,议员在被害前谋划绑架她...

网友评论

    本文标题:第三章 对象

    本文链接:https://www.haomeiwen.com/subject/jvljsftx.html