[TOC]
## 5.1 Obeject類型
所有其他對象都繼承Object對象。
**1. 創建Object實例(實例化對象)**
創建object實例的方式有兩種:
* 使用**new操作符**后跟Object構造函數
~~~
var person = new Object();
person.name = "Nicholas";
person.age = 29;
~~~
* 使用**對象字面量**:
~~~
var person = {
name : "Nicholas",
age : 29,
5 : true
}
~~~
**2.訪問對象**
訪問對象屬性時一般使用**點表示法**,還有一種方括號表示法。
注意:如果對象屬性名是不符合語法的或屬性名是關鍵字或保留字,只能使用方括號表示法。例如:
~~~
var person = {
"1a" : 1
};
person["1a"]; // 1
person.1a // 會報錯
~~~
**3.Object對象的靜態方法**
`Object.keys()、Object.getOwnPropertyNames()`方法
Object.keys()方法和Object.getOwnPropertyNames()方法一般用來遍歷對象的屬性,它們的參數都是一個對象,**返回一個數組,該數組的項都是對象自身的(不是繼續原型的)的所有屬性名**。兩者的區別在于,Object.keys()只返回可枚舉的屬性,Object.getOwnPropertyNames()方法還返回不可枚舉的屬性名。
~~~
var o = {
p1: 123,
p2: 456
};
Object.keys(o)
// ["p1", "p2"]
Object.getOwnPropertyNames(o)
// ["p1", "p2"]
~~~
~~~
var a = ["Hello", "World"];
Object.keys(a)
// ["0", "1"]
Object.getOwnPropertyNames(a)
// ["0", "1", "length"]
~~~
數組的length屬性是不可枚舉的。
**4.Object對象的實例方法**
| 方法名 | 描述 |
| --- | --- |
| valueOf() | 返回當前對象對應的值,默認情況下返回對象本身。 |
| toString() | 返回當前對象對應的字符串形式。 |
| toLocaleString() | 返回當前對象對應的本地字符串形式。 |
| hasOwnProperty() | 判斷某個屬性是否為當前對象自身的屬性,還是繼承自原型對象的屬性。 如果是自身的屬性,返回true,否則返回false。 |
| isPrototypeOf() | 判斷當前對象是否為另一個對象的原型。如果是,返回true,否則返回false。 |
| propertyIsEnumerable() | 判斷某個屬性是否可枚舉。 |
- 前言
- 第一章 JavaScript簡介
- 第三章 基本概念
- 3.1-3.3 語法、關鍵字和變量
- 3.4 數據類型
- 3.5-3.6 操作符、流控制語句(暫略)
- 3.7函數
- 第四章 變量的值、作用域與內存問題
- 第五章 引用類型
- 5.1 Object類型
- 5.2 Array類型
- 5.3 Date類型
- 5.4 基本包裝類型
- 5.5 單體內置對象
- 第六章 面向對象的程序設計
- 6.1 理解對象
- 6.2 創建對象
- 6.3 繼承
- 第七章 函數
- 7.1 函數概述
- 7.2 閉包
- 7.3 私有變量
- 第八章 BOM
- 8.1 window對象
- 8.2 location對象
- 8.3 navigator、screen與history對象
- 第九章 DOM
- 9.1 節點層次
- 9.2 DOM操作技術
- 9.3 DOM擴展
- 9.4 DOM2和DOM3
- 第十章 事件
- 10.1 事件流
- 10.2 事件處理程序
- 10.3 事件對象
- 10.4 事件類型
- 第十一章 JSON
- 11.1-11.2 語法與序列化選項
- 第十二章 正則表達式
- 12.1 創建正則表達式
- 12.2-12.3 模式匹配與RegExp對象
- 第十三章 Ajax
- 13.1 XMLHttpRequest對象
- 你不知道的JavaScript
- 一、作用域與閉包
- 1.1 作用域
- 1.2 詞法作用域
- 1.3 函數作用域與塊作用域
- 1.4 提升
- 1.5 作用域閉包
- 二、this與對象原型
- 2.1 關于this
- 2.2 全面解析this
- 2.3 對象
- 2.4 混合對象“類”
- 2.5 原型
- 2.6 行為委托
- 三、類型與語法
- 3.1 類型
- 3.2 值
- 3.3 原生函數