构造函数
一、初始化一个猫对象
function Cat(name,color){ this.name=name; this.color=color; }
//把那些不变的属性和方法,直接定义在prototype对象上
Cat.prototype.type="猫科动物"; Cat.prototype.eat=function(){ alert("吃老鼠"); }
//生成实例
var cat1=new Cat("大毛","黄色“); var cat2=new Cat("二毛",”黑色"); alert(cat1.type);//猫科动物 cat1.eat();//吃老鼠 console.log(cat1.eat==cat2.eat);//true
二、初始化一个Phone对象
<script> function Phone(name,size){ this.name=name; this.size=size; //方法初始化一次既可,用if语句判断,如果方法undefined,执行一次 if(typeof this.run=='undefined'){ Phone.prototype.run=function(){ alert('具有打电话的功能'); } } } var phone1=new Phone('手机','5.5'); console.log(phone1.name); phone1.run(); </script>
参考原文:http://www.ruanyifeng.com/blog/2010/05/object-oriented_javascript_encapsulation.html