1、对象类型和对象实例
假设你要创建一个汽车的对象类型。你希望这个类型叫做car,这个类型具备make, model, year等属性,要做到这些,你需要这样来写个构造函数:
function car(make, model, year) { this.make = make; this.model = model; this.year = year; }
现在,你可以创建一个实例了:
var mycar = new car("Eagle", "Talon TSi", 1993);
这段代码创建了一个mycar
这个对象实例,还给它赋予了3个属性,现在mycar.make
等于"Eagle
", mycar.year
等于1993,以此类推。
你已经可以通过new
来创建任意个汽车对象实例了:
var kenscar = new car("Nissan", "300ZX", 1992);
2、对象属性为自身或其他对象
假设你定义了一个对象叫做person
:
function person(name, age, sex) { this.name = name; this.age = age; this.sex = sex; }
然后定义了两个实例:
var rand = new person("Rand McNally", 33, "M"); var ken = new person("Ken Jones", 39, "M");
然后你重写了car的定义,添加了一个owner属性来指向一个person对象实例:
function car(make, model, year, owner) { this.make = make; this.model = model; this.year = year; this.owner = owner; }
创建实例变成了这样:
var car1 = new car("Eagle", "Talon TSi", 1993, rand); var car2 = new car("Nissan", "300ZX", 1992, ken);
上面的代码没有传字符串或数字过去,而是传了一个对象 rand
和 ken
,这个时候可以这样来获取car2
的拥有者的名称:
car2.owner.name
引自于:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/new