function Cat(){ this.name = "大毛"; } //构造函数 var cat1 = new Cat(); //实例化 Cat.prototype.eat = function(){} //添加方法
2.Object.create()法
“类”就是一个对象,不是函数
var Cat = { name: "大毛", makeSound :function(){alert('喵喵喵')} };
var cat1 = Object.create(Cat); alert(cat1.name); cat1.makeSound();
3.极简主义法
var Cat = { createNew : function(){ var cat = {}; cat.name ="大毛"; cat.makeSound = function(){alert("喵喵喵");}; return cat; } } var cat1 = Cat.createNew(); cat1.makeSound();
代码简洁优雅,符合面向对象编程
这种方式的继承如下
var Animal = { createNew : function(){ var animal = {}; animal.sleep = function(){ alert(""); }; return animal; } } var Cat = { createNew :function(){ var cat = Animal.createNew(); cat.name = "大毛"; return cat; } } var cat1 = Cat.createNew(); //这样得到的cat实例,就会同时继承Cat类和animal类
var Cat = { var sound = "喵喵喵"; //需要共享的变量 createNew: function(){ var cat = Animal.createNew(); cat.name = "大黄"; //私有变量 cat.makeSound = function(){alert(“喵喵喵”)} ; cat.changeSound = function(x){this.sound = x;} } var cat1 = Cat.createNew(); cat1.changeSound("啦啦啦"); cat1.makeSound();