美文网首页
构造函数与类(class)

构造函数与类(class)

作者: Fanny | 来源:发表于2020-01-07 09:34 被阅读0次

    类其实就是构造函数的语法糖 ,

    • 构造函数
      function Person(name, age) {
        this.name = name;
        this.age = age;
      }
      //添加在原型上的方法
      Person.prototype.say = function() {
        return "我的名字叫" + this.name + "今年" + this.age + "岁了";
      };
      //创造实例
      var obj = new Person(小白", 88); /
      console.log(obj.say()); 
      obj.hi = function(){
        return this.age
      }
      console.log(obj);
    
    构造函数.png

    构造函数有一个prototype属性指向自身的原型对象, 构造函数的实例有一个proto( 双下划线)属性指向自己构造函数的原型 (原型中有constructor属性指向原型对象的构造函数).
    通过实例对象和this关键字调用的属性和方法是实例属性和方法,

      console.log(Person.prototype === obj.__proto__);
      console.log(obj.__proto__.constructor);
    
    构造函数.png
     class Person1 {
        constructor(name,age){
          this.name = name;
          this.age = age;
        }
        //这是一个类的方法,不可以加上function
        say(){
          return '我的名字叫做'+ this.name + '今年' + this.age;
        }
      }
    
      let obj1= new Person1('lili',12);
      console.log(obj1.say());
      
      obj1.aa = 'nihao'
      obj1.bb = function(){
        return this.aa
      }
      
      console.log(obj1);
    
    类.png

    关于this关键字的作用 , 以及原型链的内容在这里只是略微的提过,想了解具体的内容可以---

    相关文章

      网友评论

          本文标题:构造函数与类(class)

          本文链接:https://www.haomeiwen.com/subject/jzxractx.html