一、JavaScript 对象概述
对象概述
- 通用定义
- 对象时需求场景中的名词(如人、事、物)在程序中的表示
- JavaScript 中,除了string、number、boolean、null、undefined之外,其它的数据都是对象,如数组、日期甚至函数等
- ECMA-262定义
- 属性的无序集合,每个属性存放一个原始值、对象或函数
- 对象是无特定顺序的值的数组
- 对象是一种特殊的数据类型,可以包含多个成员
- 对象的成员分为两种: 属性和方法
- 属性(Property)
- 封装对象的数据,表示与对象有关的值
- 对象名.属性名
- 方法(Method)
- 封装对象的行为,表示对象可以执行的行为或可以完成的功能
- 对象名.方法名()
JS的对象分类
- 内置对象(native object) /原生对象指JavaScript语言本身预定义的对象,在ECMAScript标准定义,由所有的浏览器厂家来提供具体实现
- 由于标准的统一,故这些对象的浏览器兼容性问题"不太大"
- 宿主对象(host object)指JavaScript运行环境(即浏览器)提供的对象,由浏览器厂家自定义提供实现,早期存在较大的兼容性问题,当前其中一些主要的对象已经被大部分浏览器兼容
- 具体又分为如下两类
- BOM对象:Browser Object Model
- DOM对象:Document Object Model
- 自定义对象(user-defined object)指由用户创建的对象,兼容性问题需要由编写者注意
- 创建自定义对象
- 对象直接量
- new Object()
- function 对象模板
二、JavaScript 创建对象
对象直接量
- 由名/值对组成的映射表
- 名和值之间用冒号分隔
- 名/值之间用逗号分隔
通过 new 创建对象
- 直接使用 new 关键字创建对象
- 创建系统对象
- 创建通用对象
- 创建自定义对象(自定义构造函数)
三、JavaScript 属性
定义属性
- 对象中可以声明若干个属性(property)
访问属性
- 通过对象的引用,使用.或[]运算符访问对象的属性
遍历(枚举)属性
- 使用for/in循环遍历对象的所有属性
属性访问错误
- 如果要读取一个不存在的属性或属性值本身就是undefined,那得到的结果是undefined
检测属性
- 可以使用如下四种方法检测对象中是否存在指定属性
- 使用in关键字
- 使用对象的hasOwnProperty()方法
- 使用undefined判断
- 在条件语句中直接判断
四、JavaScript 方法
定义方法
- 指对象可以实施的行为或者可以完成的功能
- 如订单可以计算总价、图形可以计算面积等
调用方法
- 通过对象的引用调用对象的方法
总结:本章内容主要介绍了 JavaScript Object(对象(概述、创建对象、属性、方法)
本文出自 “技术交流” 博客,谢绝转载!
JavaScript之基础-14 JavaScript Object对象(概述、创建对象、属性、方法)
原文:http://jasonteach.blog.51cto.com/5192112/1757628