JavaScript 中的所有事物都是对象:字符串、数值、数组、函数...
此外,JavaScript 允许自定义对象。
所有事物都是对象
JavaScript 提供多个内建对象,比如 String、Date、Array 等等。 对象只是带有属性和方法的特殊数据类型。
- 布尔型可以是一个对象。
- 数字型可以是一个对象。
- 字符串也可以是一个对象。
- 日期是一个对象。
- 数学和正则表达式也是对象。
- 数组是一个对象。
- 甚至函数也可以是对象。
访问对象的属性
属性是与对象相关的值。
访问对象属性的语法是:
objectName.propertyName
这个例子使用了 String 对象的 length 属性来获得字符串的长度:
var message = 'hello world!';
var x = message.length;
在代码执行后,x的值:
12
创建JavaScript对象
通过 JavaScript,您能够定义并创建自己的对象。
创建新对象有两种不同的方法:
- 使用 Object 定义并创建对象的实例。
- 使用函数来定义对象,然后创建新的对象实例。
使用 Object
在 JavaScript 中,几乎所有的对象都是 Object 类型的实例,它们都会从 Object.prototype 继承属性和方法。
Object 构造函数创建一个对象包装器。
Object 构造函数,会根据给定的参数创建对象,具体有以下情况:
- 如果给定值是 null 或 undefined,将会创建并返回一个空对象。
- 如果传进去的是一个基本类型的值,则会构造其包装类型的对象。
- 如果传进去的是引用类型的值,仍然会返回这个值,经他们复制的变量保有和源对象相同的引用地址。
- 当以非构造函数形式被调用时,Object 的行为等同于 new Object()。
语法格式:
//以构造函数格式来调用
new Object([value])
value可以是如何值。
以下例子使用Object生成布尔对象:
//等价于 o = new Boolean(true);
var o = new Object(true);
这个例子创建了对象的一个实例,并添加了四个属性:
Person = new Object();
Person.firstname = 'john';
Person.lastname = 'doe';
Person.age = 50;
Person.eyecolor = 'blue';
也可以使用对象字面量来创建对象,格式如下:
{name1:value,name:value,。。。nameN:value}
实例
person{
firstname:'john',lastname:'doe',age:50,eyecolor:'blue';
}