JavaScript(二):如何深入理解对象

JavaScript最重要的数据类型就是对象。JavaScript的数据类型分为两类:一是引用类型,即Object;而是基础类型,即Number,String,Boolean,Undefined 和 Null。基础类型和引用类型的区别在于:基础类型的值是不可变的;引用类型的值是可变的,详情参见JavaScript(三):基本类型和引用类型的区别

什么是对象

对象是无序属性的集合,其属性可以包含基本值、对象或者函数。严格来说,对象是一组没有特定顺序的值。对象的每一个属性和方法都有一个名字,而这个名字都映射到这个值。

如下是一个简单的对象:

var myFirstObject = {firstName: "Richard", favoriteAuthor: "Conrad"};

对象想象成一张列表,其中每一项(对象的属性或方法)都以键值对的方式存储。
myFirstObject的属性是firstNamefavoriteAuthor;对应的值为"Richard""Conrad"

对象的属性名称可以是String或者Number,对象属性名称如果是Number类型,那么就只能通过综括号加属性名的访问方式访问。

var ageGroup = {30: "Children", 100:"Very Old"};
console.log(ageGroup.30) 

// This will throw an error
// This is how you will access the value of the property 30, to get value "Children"

console.log(ageGroup["30"]); // Children
//It is best to avoid using numbers as property names.

引用类型和基本类型

引用类型和基本类型的重要区别在于:引用类型的保存指针,而不是像基本类型一样,直接根据变量保存值。如以下两个例子所示。

一是,基本类型的赋值:

// The primitive data type String is stored as a value
var person = "Kobe";  
var anotherPerson = person; // anotherPerson = the value of person
person = "Bryant"; // value of person changed

console.log(anotherPerson); // Kobe
console.log(person); // Bryant

anotherPerson并不会随着person值的变化而变化。

二是引用类型的赋值:

var person = {name: "Kobe"};
var anotherPerson = person;
person.name = "Bryant";

console.log(anotherPerson.name); // Bryant
console.log(person.name); // Bryant

在这里,我们将person对象赋值给anotherPerson对象,但是由于person保存的是指针,因此 我们改变person.name"Bryant"anotherPersonname属性也会变成"Bryant"

对象的属性是有特性的

资料来源:
《JavaScript Objects in Detail》http://javascriptissexy.com/javascript-objects-in-detail/

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,993评论 19 139
  • 使用同一个接口创建很多对象,会产生大量的重复代码。为解决这个问题吗,人们开始使用工厂模式的一种变体。 工厂模式 工...
    BertFu阅读 923评论 0 4
  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 3,272评论 0 4
  • 归。归何处。何时归。 清明的细雨纷纷扬扬洒向这片陌生的大地,轻柔,哀愁,望着校门人影稀疏了,零落了,没有了,雨中的...
    夏屾阅读 168评论 3 1
  • 早上五点出行的车上 都是临时拼凑并不熟识的驴友 他是我的邻座 没有带早餐 幸好 临近的东北人都好客和大方 他也...
    云淡风轻之蓝阅读 319评论 25 30