JavaScript 不包含传统的类继承模型,而是使用 prototype原型模型。Js所有的函数都有一个prototype属性,这个属性引用了一个对象,即原型对象,也简称原型。这个函数包括构造函数和普通函数,我们更常用的是构造函数的原型。了解原型的使用方式,便于对象的扩展。
原型的使用方式
(一)举个例子来说明一下原型的使用,通过给既定对象的属性赋值。如下
var Calculator = function (para1, para2) { this.para1 = para1; this.para2 = para2; }; Calculator.prototype = { add: function (para1, para2) { return para1 + para2; }, sub: function (para1, para2) { return para1 - para2; } }; var c = new Calculator();
通过这种方式,在new的新对象c中就有了上述的add()和sub()方法。
(二)在赋值原型prototype的时候使用function立即执行的表达式来赋值。格式为xx.prototype = function(){ }();例如:
var Calculator = function (para1, para2) { this.para1 = para1; this.para2 = para2; }; Calculator.prototype = function(){ add = function (para1, para2) { return para1 + para2; }, sub = function (para1, para2) { return para1 - para2; } return { add:add, sub:sub } }(); var c = new Calculator();
通过这种方式达到了和第一种方式相同的效果,如图