JavaScript 对象(1)

来源:互联网 发布:vb正则表达式在线测试 编辑:程序博客网 时间:2024/06/11 20:59

JavaScript 对象(1)

JavaScript中的对象是基本数据类型。对象是一种复合值:它将很多值(原始值或其他对象)聚合在一起,可通过名字访问这些值。対像也可看做属性的无序集合,每个属性都是一个名/值对。属性名是字符串,因此我们可以把对象看成是从字符串到值的映射。

对象除了可以保持自有的属性,JavaScript对象还可以从一个称为原型的对象继承属性。对象的方法通常是继承的属性。

JavaScript对象是动态的——可以新增属性也可以删除属性——但他们常用来模拟静态对象以及静态类型语言中的“结构体”。

对象是可变的,我们通过引用而非值来操作对象。

对象常见的用法是:

  • 创建(create)
  • 设置(set)
  • 查找(query)
  • 删除(delete)
  • 检测(test)
  • 枚举(enumerate)

属性包括名字和值。属性名可以是包含空字符串在内的任意字符,但对象中不能存在两个同名的值。值可以是任意的JavaScript值,或者可以是一个getter或setter函数。(或者两者都有)

属性特性:

  • 可写(writeable attribute),表明是否可以设置该属性的值。
  • 可枚举(enumerable attribute), 表明是够可以通过for/in循环返回该属性。
  • 可配置(configurable attribute),表明是否可以删除或修改该属性。

相关的对象特性:

  • 对象的原型(prototype)指向另外的一个对象,本对象的属性继承自他的原型对象。
  • 对象的类(class)是一个标志对象类型的字符串。
  • 对象的扩展标记(extensible flag)指明了是否可以向该对象添加新属性。

三类JavaScript对象和两类属性:

  • 内置对象(native)是由ECMAScript规范定义的对象或类。
  • 宿主对象(host object)是由JavaScript解释器所嵌入宿主环境定义的。客户端JavaScript中表示网页结构的HTMLElement对象均是宿主对象。
  • 自定义对象(user-defined object)是由运行中的JavaScript代码创建的对象。
  • 自有属性(own property)是直接在对象中定义的属性。
  • 继承属性(inherited property)是在对象的原型对象中定义的属性。
1 0
原创粉丝点击