標籤:
一、建立對象
1.1初始化器
var any={name:"some",age:10,action:function(){ alert(this.name+":"+this.age); }};
1.2構造方法
function some(name,age){this.name=name;this.age=age;this.action=function(){ alert(this.name+":"+this.age); }}var aa = new some("bb",5);aa.action();
1.3屬性
function C(){ this.objPro = "對象屬性"; C.prototype.objPro2="對象屬性2"; var privateObj = "私人屬性"; }C.classPro = "類屬性";
1.4對象方法
function C(){var privateFun = function(){alert("私人方法");}this.objFun = function(){alert("對象方法");}this.prototype.objFun = function(){alert("對象方法");}}C.classFun = function(){alert("類方法");}
二、封裝
var any={name:"some",age:10,action:function(){ alert(this.name+":"+this.age); }};
三、繼承
3.1Dog還是Dog
function Animal(name,age){ }function Dog(name,age){ Animal.apply(this,[name,age]);}
3.2Dog變成Animal了
function Animal(name,age){ }function Dog(name,age){ Animal.apply(this,[name,age]);}
Dog.prototype=new Animal();
四、多態
function Animal(name,age){ this.say=function(){}}function Dog(name,age){ this.say=function(){}}Dog.prototype = new Animal();function Cat(name,age){ this.say=function(){}}Cat.prototype = new Animal();function say(){if(animal instanceof Animal){animal.say();}}
Javascript進階篇-物件導向的特性