原型

2018-11-09 02:36:31来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

原型

原型使用方式:

var Calculator = function (decimalDigits, tax) {
            this.number=number; 
       this.tax = tax;
};

通过给Calculator对象的prototype属性赋值,来设定Calculator对象的原型。

Calculator.prototype = {
            add: function (x, y) {
                return x + y;
            },

            subtract: function (x, y) {
                return x - y;
           }
   };
 var calculator = new Calculator();
 conlose.log(calculator.add(1,3));//4

上面使用原型的时候,有一个限制就是一次性设置了原型对象,我们再来说一下如何设置原型的每个属性。

var Calculate = function () {
//为每一个实力都声明一个数字
this.number = 2; 
}; 
Calculator.prototype .add=function(x, y){
 return x + y; 
}; 
Calculator.prototype .subtract=function(x, y){
 return x - y;
 };

先声明了一个Calculate对象,在构造函数里面初始化一个number属性,然后在原型属性里面设置了2个函数。

var Calculator = function () {
    //为每个实例都声明一个数字
    this.numbers= 5;
};
        
Calculator.prototype = new Calculate();
我们可以看到Calculator的原型是指向到Calculate的一个实例上,目的是让Calculator集成它的add(x,y)和subtract(x,y)这2个函数。
var calc = new Calculator();
alert(calc.add(1, 1));
//Calculate里声明的number属性,在 Calculator里是可以访问到的
alert(calc.number); //2

如果不想让Calculator访问Calculate的构造函数里声明的属性值number,可以将Calculate的原型赋给Calculator的原型,这样你在Calculator的实例上就访问不到那个number值了。

var Calculator = function () {
    this.tax= 5;
};

Calculator.prototype = Calculate.prototype;

var calc = new Calculator();
alert(calc.add(1, 1));//2
alert(calc.number);//undefined

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:JS复制文本到剪切板

下一篇:webpack4前端工程化教程(一)