# JavaScript 对象
**JavaScript 中的所有事物都是对象:字符串、数字、数组、日期,等等。**
**在 JavaScript 中,对象是拥有属性和方法的数据。**
## 属性和方法
属性是与对象相关的值。
方法是能够在对象上执行的动作。
举例:汽车就是现实生活中的对象。
汽车的属性:
```
car.name=Fiat
car.model=500
car.weight=850kg
car.color=white
```
汽车的方法:
```
car.start()
car.drive()
car.brake()
```
汽车的属性包括名称、型号、重量、颜色等。
所有汽车都有这些属性,但是每款车的属性都不尽相同。
汽车的方法可以是启动、驾驶、刹车等。
所有汽车都拥有这些方法,但是它们被执行的时间都不尽相同。
## JavaScript 中的对象
在 JavaScript 中,对象是数据(变量),拥有属性和方法。
当您像这样声明一个 JavaScript 变量时:
```
var txt = "Hello";
```
您实际上已经创建了一个 JavaScript 字符串对象。字符串对象拥有内建的属性 length。对于上面的字符串来说,length 的值是 5。字符串对象同时拥有若干个内建的方法。
属性:
```
txt.length=5
```
方法:
```
txt.indexOf()
txt.replace()
txt.search()
```
提示:在面向对象的语言中,属性和方法常被称为对象的成员。
在本教程稍后的章节中,您将学到有关字符串对象的更多属性和方法。
## 创建 JavaScript 对象
JavaScript 中的几乎所有事务都是对象:字符串、数字、数组、日期、函数,等等。
你也可以创建自己的对象。
本例创建名为 "person" 的对象,并为其添加了四个属性:
### 实例
```
person=new Object();
person.firstname="Bill";
person.lastname="Gates";
person.age=56;
person.eyecolor="blue";
```
创建新 JavaScript 对象有很多不同的方法,并且您还可以向已存在的对象添加属性和方法。
您将在本教程稍后的章节学到更多相关的内容。
## 访问对象的属性
访问对象属性的语法是:
```
_objectName_._propertyName_
```
本例使用 String 对象的 length 属性来查找字符串的长度:
```
var message="Hello World!";
var x=message.length;
```
在以上代码执行后,x 的值是:
```
12
```
## 访问对象的方法
您可以通过下面的语法调用方法:
```
_objectName_._methodName_()
```
这个例子使用 String 对象的 toUpperCase() 方法来把文本转换为大写:
```
var message="Hello world!";
var x=message.toUpperCase();
```
在以上代码执行后,x 的值是:
```
HELLO WORLD!
```
## 您知道吗?
提示:在面向对象的语言中,使用 camel-case 标记法的函数是很常见的。您会经常看到 someMethod() 这样的函数名,而不是 some_method()。
## 课外书
如需更多有关 _JavaScript 对象_的知识,请阅读 JavaScript 高级教程中的相关内容:
[ECMAScript 面向对象技术](/js/pro_js_object_oriented.asp "ECMAScript 面向对象技术")
本节简要介绍了面向对象技术的术语、面向对象语言的要求以及对象的构成。
[ECMAScript 对象应用](/js/pro_js_object_working_with.asp "ECMAScript 对象应用")
本节讲解了如何声明和实例化对象,如何引用和废除对象,以及绑定的概念。
[ECMAScript 对象类型](/js/pro_js_object_types.asp "ECMAScript 对象类型")
本节介绍了 ECMAScript 的三种类型:本地对象、内置对象和宿主对象,并提供了指向相关参考手册的链接。
[ECMAScript 对象作用域](/js/pro_js_object_scope.asp "ECMAScript 对象作用域")
本节讲解了 ECMAScript 作用域以及 this 关键字。
[ECMAScript 定义类或对象](/js/pro_js_object_defining.asp "ECMAScript 定义类或对象")
本节详细讲解了创建 ECMAScript 对象或类的各种方式。
[ECMAScript 修改对象](/js/pro_js_object_modifying.asp "ECMAScript 修改对象")
本节讲解了如何通过创建新方法或重定义已有方法来修改对象。
- JavaScript 基础
- JavaScript 简介
- JavaScript 使用
- JavaScript 输出
- JavaScript 语句
- JavaScript 注释
- JavaScript 变量
- JavaScript 数据类型
- JavaScript 对象
- JavaScript 函数
- JavaScript 运算符
- JavaScript 比较和逻辑运算符
- JavaScript If...Else 语句
- JavaScript Switch 语句
- JavaScript For 循环
- JavaScript While 循环
- JavaScript Break 和 Continue 语句
- JavaScript 错误 - Throw、Try 和 Catch
- JavaScript 表单验证
- JavaScript 保留关键字
- JavaScript JSON
- javascript:void(0) 含义
- JavaScript 高级
- JavaScript 对象
- JavaScript Number 对象
- JavaScript 字符串(String)对象
- JavaScript Date(日期)对象
- JavaScript Array(数组)对象
- JavaScript Boolean(逻辑)对象
- JavaScript Math(算数)对象
- JavaScript RegExp 对象
- JavaScript BOM
- JavaScript Window - 浏览器对象模型
- JavaScript Window Screen
- JavaScript Window Location
- JavaScript Window History
- JavaScript Window Navigator
- JavaScript 消息框
- JavaScript 计时
- JavaScript Cookies
- HTML DOM
- HTML DOM 简介
- HTML DOM 节点
- HTML DOM 方法
- HTML DOM 属性
- HTML DOM 访问
- HTML DOM - 修改
- HTML DOM - 修改 HTML 内容
- HTML DOM - 元素
- HTML DOM - 事件
- HTML DOM - 导航
- JavaScript HTML DOM EventListener
- AJAX 教程
- AJAX 简介
- AJAX 实例
- AJAX - 创建 XMLHttpRequest 对象
- AJAX - 向服务器发送请求
- AJAX - 服务器响应
- AJAX - onreadystatechange 事件
- AJAX ASP/PHP 请求实例
- AJAX 数据库实例
- AJAX XML 实例
- jQuery 基础
- jQuery 简介
- jQuery 安装
- jQuery 语法
- jQuery 选择器
- jQuery 事件
- jQuery 效果
- jQuery 效果 - 隐藏和显示
- jQuery 效果 - 淡入淡出
- jQuery 效果 - 滑动
- jQuery 效果 - 动画
- jQuery 停止动画
- jQuery Callback 函数
- jQuery - Chaining
- jQuery HTML
- jQuery - 获得内容和属性
- jQuery - 设置内容和属性
- jQuery - 添加元素
- jQuery - 删除元素
- jQuery - 获取并设置 CSS 类
- jQuery - css() 方法
- jQuery - 尺寸
- jQuery 遍历
- jQuery 遍历
- jQuery 遍历 - 祖先
- jQuery 遍历 - 后代
- jQuery 遍历 - 同胞
- jQuery 遍历 - 过滤
- jQuery - AJAX
- jQuery - AJAX 简介
- jQuery - AJAX load() 方法
- jQuery - AJAX get() 和 post() 方法
- jQuery 杂项
- jQuery - noConflict() 方法
- JavaScript 高级教程
- JavaScript 的历史
- JavaScript 实现
- ECMAScript 基础
- ECMAScript 语法
- ECMAScript 变量
- ECMAScript 关键字
- ECMAScript 保留字
- ECMAScript 原始值和引用值
- ECMAScript 原始类型
- ECMAScript 类型转换
- ECMAScript 引用类型
- ECMAScript 运算符
- ECMAScript 一元运算符
- ECMAScript 位运算符
- ECMAScript Boolean 运算符
- ECMAScript 乘性运算符
- ECMAScript 加性运算符
- ECMAScript 关系运算符
- ECMAScript 等性运算符
- ECMAScript 条件运算符
- ECMAScript 赋值运算符
- ECMAScript 逗号运算符
- ECMAScript 语句
- ECMAScript if 语句
- ECMAScript 迭代语句
- ECMAScript 标签语句
- ECMAScript break 和 continue 语句
- ECMAScript with 语句
- ECMAScript switch 语句
- ECMAScript 函数
- ECMAScript 函数概述
- ECMAScript arguments 对象
- ECMAScript Function 对象(类)
- ECMAScript 闭包(closure)
- ECMAScript 对象
- ECMAScript 面向对象技术
- ECMAScript 对象应用
- ECMAScript 对象类型
- ECMAScript 对象作用域
- ECMAScript 定义类或对象
- ECMAScript 修改对象
- ECMAScript 继承
- ECMAScript 继承机制实例
- ECMAScript 继承机制实现
- Google 地图API
- Google 地图API Key
- Google Maps 基础
- Google 地图叠加层
- Google 地图事件
- Google 地图控件集
- Google 地图类型
- Google 地图 API 参考手册
- 地图 API Map() 构造器
- 免责声明