码迷,mamicode.com
首页 > 其他好文 > 详细

第6章 对象 前言

时间:2015-06-18 23:43:59      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:

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).

 

  

第6章 对象 前言

标签:

原文地址:http://www.cnblogs.com/iamswf/p/4587257.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!