zoukankan      html  css  js  c++  java
  • 原型

    原型

    原型使用方式:

    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
  • 相关阅读:
    使用缓冲流和byte数组,拷贝文件
    java-类名的正确使用
    java-if语句调试
    java-if...else if...else语句调试
    java-打印101-200之间的素数(PrimeNumber),并统计个数,并每5行输出
    java-打印101-200之间的素数(PrimeNumber)
    冒泡排序-while实现
    冒泡排序-java实现
    java-求一组整数中的最大值
    python学习笔记之集合
  • 原文地址:https://www.cnblogs.com/zbly/p/9924185.html
Copyright © 2011-2022 走看看