正文
对象
如果你写过 JavaScript 代码,那你已经使用过对象了。JavaScript 有三种类型的对象:
原生对象
原生对象是语言规范的一部分,不管在什么样的运行环境下运行,原生对象都可用。原生对象包括:Array、Date、Math 和 parseInt 等。想了解所有原生对象,请参阅 JavaScript 内建对象参考
var cars = Array(); // Array is a native object
宿主对象
与原生对象不同,宿主对象是由 JavaScript 代码运行的环境创建。不同的环境环境创建有不同的宿主对象。这些宿主对象在多数情况下都允许我们与之交互。如果我们写的是在浏览器(这是其中一种运行环境)上运行的代码,会有 window、document、location 和 history 等宿主对象。
document.body.innerHTML = 'Hello World!'; // document is a host object
// the document object will not be available in a
// stand-alone environments such as Node.js
用户对象
用户对象(或植入对象)是在我们的代码中定义的对象,在运行的过程中创建。JavaScript 中有两种方式创建自己的对象,下面详述。
对象字面量
在前面演示创建命名空间的时候,我们已经接触到了对象字面量。现在来搞清楚对象字面量的定义:对象字面量是置于一对花括号中的,由逗号分隔的名-值对列表。对象字面量可拥有变量(属性)和函数(方法)。像 JavaScript 中的其它对象一样,它也可以作为函数的参数,或者返回值。
现在定义一个对象字面量并赋予一个变量:
// declaring an object literal
var dog = {
// object literal definition comes here...
};
向这个对象字面量添加属性和方法,然后在全局作用域访问:
// declaring an object literal
var dog = {
breed: 'Bulldog', // object literal property
bark: function() { // object literal method
console.log("Woof!");