js 对象 分为:本地对象、内置对象、宿主对象
本地对象:String、Number、Date 、Object、Array、Boolean、RegExp、Error(非静态对象)
内置对象:Global、Math (静态对象)
宿主对象(由浏览器提供的对象)
对象主要说三种:new Object()、function、json
json:适合简单的对象,用一次的那种(单体对象)
object:对象 ,是定义对象,在对象上在定义方法、属性、静态方法、静态属性
function: 适合复杂的对象,在方法里定义自己的方法、属性,也可以在原型上定义方法、属性。
注意:在原型上定义的方法、属性 是公共的。
eg: function person(){
this.name='zhang'; this.age='5';
};
person.prototype.m=[1,2];
var p1=new person();
p1.m.push(3);
var p2=new person();
p2.m ;//1,2,3
除非是p1.m=[3,4]; 重新赋值,这个实际上是p1对象自己的属性,和原型没有关系了
p2.m;//12
继承
因为prototype 是应用类型,所以继承要注意不能直接给子类的prototype
eg: function person2(){
person.call(this);//person2继承了person类的属性和方法(不包括原型的属性、方法) };
for(var n in person.prototype){
person2.prototype[n]=person.prototype[n]; } |
|
来自: yan的图书41 > 《javascript》