第6章 对象 前言

1. JS中对象是一种复合值: 它将很多值聚合在一起, 可通过名字访问这些值. 对象也可以看做属性的无序集合, 每个属性都是一个名/值对. 属性名是字符串, 因此我们把对象看成从字符串到值的映射.这种映射数据结构还有多种其他叫法, 比如hash表, 字典, 关联数组.

2. JS对象除了保持自有属性, 还可以从一个称为原型(ptototype)的对象继承属性. 这种原型式继承是JS的核心特征.

3. 除了字符串, 数字, 布尔值(true, false), null和undefined之外, JS中的值都是对象. 尽管字符串, 数字和布尔值不是对象, 但它们的行为和不可便对象非常类似.

4. 我们通过引用而非值来操作对象. 如果对象x是指向一个对象的引用, 那么执行代码var y = x; 变量y也是指向同一个对象的引用, 而非这个对象的副本. 通过变量y修改这个对象亦会对变量x造成影响.

5. 对象的属性包括属性名, 属性值和属性特性(property attribute), 很明显, 前面说的名/值对即为属性名和属性值. 属性名可以是包含空字符串在内的任意字符串, 对象中不能存在两个相同的属性名. 属性值可以是任意类型的JS值, 在ECMAScript5中属性值还可以是setter/getter函数.

6. 除了名/值对之外, JS对象的每个属性还有3个与之相关的值, 称为"属性特性". 分别是可写性, 可枚举性, 可配置性. 在ECMAScript5之前, 通过JS代码创建的对象属性都是可写, 可枚举, 可配置的. ECMAScript5中则可以对这三个特性加以设置.

7. JS对象除了包含属性之外, 还拥有3个相关的对象特性(object attribute). 分别是对象的原型(prototype), 对象的类(class), 对象的扩展标记(extensible flag).

  

时间: 2025-01-11 19:45:00

第6章 对象 前言的相关文章

《Java并发编程实战》第三章 对象的共享 读书笔记

一.可见性 什么是可见性? Java线程安全须要防止某个线程正在使用对象状态而还有一个线程在同一时候改动该状态,并且须要确保当一个线程改动了对象的状态后,其它线程能够看到发生的状态变化. 后者就是可见性的描写叙述即多线程能够实时获取其它线程改动后的状态. *** 待补充   两个工人同一时候记录生产产品总数问题 1. 失效数据 可见性出现故障就是其它线程没有获取到改动后的状态,更直观的描写叙述就是其它线程获取到的数据是失效数据. 2. 非原子64位操作 3. 加锁与可见性 比如在一个变量的读取与

Objective-C 编程全解-第04章 对象的类型和动态绑定

第04章 对象的类型和动态绑定 Objective-C的一个重要特征就是动态性,本章将对Objective-C的动态类型(dynamic typing)和动态绑定(dynamic binding)进行说明. 4.1 动态绑定 4.1.1 什么是动态绑定 Objective-C中的消息是在运行时才去绑定的.运行时系统首先会确定接受者的类型(动态类型识别),然后根据消息名在类的方法列表里选择相应的方法执行,如果没有找到就到父类中去继续寻找,假如一直找到NSObject也没有找到就要调用的方法,就会报

java基础 第一章 对象入门

第1章 对象入门 "为什么面向对象的编程会在软件开发领域造成如此震憾的影响?" 面向对象编程(OOP)具有多方面的吸引力.对管理人员,它实现了更快和更廉价的开发与维护过程.对分析与设计人员,建模处理变得更加简单,能生成清晰.易于维护的设计方案.对程序员,对象模型显得如此高雅和浅显.此外,面向对象工具以及库的巨大威力使编程成为一项更使人愉悦的任务.每个人都可从中获益,至少表面如此. 如果说它有缺点,那就是掌握它需付出的代价.思考对象的时候,需要采用形象思维,而不是程序化的思维.与程序化设

c#高级编程第七版 学习笔记 第三章 对象和类型

第三章 对象和类型 本章的内容: 类和结构的区别 类成员 按值和按引用传送参数 方法重载 构造函数和静态构造函数 只读字段 部分类 静态类 Object类,其他类型都从该类派生而来 3.1 类和结构 类和结构都是创建对象的模板,每个对象都包含数据,并提供了处理和访问数据的方法 结构和类的区别是他们在内存中的存储方式.访问方式(类是存储在堆上的引用类型,而结构是存储在栈上的值类型)和他们的一些特征(如结构不支持继承).较小的数据类型使用结构可提高性能.但在语法上,结构和类非常相似,主要的区别是使用

第十一章 对象的生命周期

第11章 对象的生命周期 11.1  创建对象的方式 用new语句创建对象 运用反射手段,调用java.lang.Class 或者 java.lang.Constructor 类的newInstance()实例方法. 调用对象的clone()方法. 运用反序列化手段 11.2 构造方法 在多数情况下,初始化对象的最终步骤是去调用这个对象的构造方法.构造方法负责对象的初始化工作,为实例变量赋予合适的初始化值. 构造方法满足的语法规则: 方法名必须与类名相同 1 public class Sampl

[Java Concurrency in Practice]第三章 对象的共享

对象的共享 第二章介绍了如何通过同步来避免多个线程在同一时刻访问相同的数据,而第三章则介绍如何共享和发布对象,从而使它们能够安全地由多个线程同时访问.这两章合在一起就形成了构建线程安全类以及通过java.util.concurrent类库来构建并发应用程序的重要基础. synchronized不仅仅只有原子性,还具有内存可见性.我们不仅希望防止某个线程正在使用对象状态而另一个线程在同时修改该状态,而且希望确保当一个线程修改了对象状态后,其他线程能够看到发生的状态变化.如果没有同步,那么这种情况就

第08章 对象和包

本章重点:1.对象以及对象的成员2.访问控制符3.重载和包4.Java的注释 对象有3个主要特征:行为.状态.标识符. public class newClass{ void print(){ System.out.println("我是一名优秀的程序员"); } public static void main(String[] args){ newClass nc = new newClass(); nc.print(); }} 成员方法实际上就是函数,而函数拥有自己的特性,在定义方

《精通C#》第十三章 对象的生命周期

在C#中,程序员无法直接在C#中删除一个托管对象,因为C#不提供这个功能,那么类的实例就需要通过CLR调用垃圾回收机制进行清除,回收内存..NET垃圾回收器会压缩空的内存块来实现优化,为了辅助这一功能,托管堆会保存一个指针,它指向下一个对象将被分配的位置.那么CLR是如何使用垃圾回收机制呢?首先,类实例化之后具体的对象会被分配到一块叫托管堆的内存区域上,将托管堆中的对象的引用地址返回给函数中的引用变量,引用变量保存在栈内,要使用对象中的方法只需要使用点操作就可以.特别需要说一下的是,结构是数值类

Java第二章----对象和类

从第一章到第二章整整隔了一个月的时间,这速度也是慢的无语了.因为这个月负责开发公司一个SaaS类型APP,忙的昏天暗地终于上线了,这才有时间写个博客.本章还是以概念为主,有点枯燥重在理解. 第一节:对象 名词解释 OOA-Object Oriented Analysis-面向对象分析 OOD-Object Oriented Design-面向对象设计 OOP-Object Oriented Programming-面向对象程序设计 面向对象基本特性 万物皆可为对象:任何一件事物都可以表示为程序中