声明对象的方式
字面式对象声明对象
var obj={
属性名称:属性值,
属性名称:属性值,
...
方法名称:function(){},
方法名称:function(){},
...
}
new操作符后跟Object构造函数
var obj=new Object();
obj.属性=属性值;
obj.属性=属性值;
obj.方法=function(){};
构造方法声明对象
function test([参数列表]){
this.属性=属性值;
this.方法=function(){}
}
var obj=new test(参数列表)
工厂方式声明对象
function createObject(name,age){
var obj=new Object();
obj.name=name;
obj.age=age;
obj.run=function(){};
return obj;
}
var box1=createObject("zh",100);
var box2=createObject("li",200);
原型模式声明对象
function test(){};
test.prototype.属性=属性值;
test.prototype.方法=function(){};
var obj=new test();
混合模式声明对象
function test(v1,v2,v3){
this.v1=v1;
this.v2=v2;
this.v3=v3;
}
test.prototype.方法名称=function(){}
var obj=new test(v1,v2,v3);
原型和原型链
原型:是利用prototype添加属性和方法。
原型链:JS在创建对象(无论是普通对象还是函数对象)时,都有一个叫做__proto__的内置属性,用于指向创建它的函数对象的原型对象prototype。
继承
原型继承:利用原型让一个引用类型继承另一个引用类型的属性和方法。
构造函数继承:在子类内部构造父类的对象实现继承。
call和apply的用法
call:调用一个对象的一个方法,以另一个对象替换当前对象
apply:应用某一对象的一个方法,用另一个对象替换当前对象
对象冒充
将父类的属性和方法传给子类作为特权属性和方法
浙公网安备 33010602011771号