JS对象
- 每一个Javascript对象(null除外)都和另一个对象相关联,即原型,每一个对象都从原型继承属性。
- 所有通过对象直接量创建的对象都具有同一个原型对象,通过Object.prototype可以获得对原型对象的引用。
- 通过new关键字和构造函数创建的对象的原型就是构造函数的prototype属性的值
- 普通的原型对象属于普通对象,普通对象都具有原型(Object.prototype比较特殊,不继承任何属性)
- 所有的内置构造函数以及大部分自定义构造函数都具有一个继承自Object.prototype的原型
- 构造函数的原型中存在预先定义好的constructor属性,对象继承的constructor均指代他们的构造函数。构造函数是类的标识,因此这个constructor属性为对象提供了类
var o = new F();
o.constructor === F /*true,指代类本身*/
|
Javascript中class的写法
注:为和普通函数区别开,类的命名首字母一般是大写
下面定义了Cat、cat类
/*写法一:*/
var Cat = function(){
this.animal = "Cat:大写的猫";
};
var cat = function(){
this.animal = "cat:小写的猫";
};
|
/*写法二:*/
function Cat(){
this.animal = "Cat:大写的猫";
}
function cat(){
this.animal = "Cat:小写的猫";
}
|
这里输出的结果是相同的,即类的命名首字母大写并不是强制的