对象的概念——javascript面向对象高级

什么是对象?

     a.对现实事物的抽象     —面向对象是对现实事物的抽象
     b.对数据的封装    —是对具体数据的封装,是一堆属性和方法的集合

对象的三大特征(封装、继承、多态)

     1.封装性,是对属性和方法的封装
     2.继承是将别人没有的,拿过来成为自己的就是继承,js里不具备特定的继承的机制,但是可以通过技术上实
     3.多态,不同情况的不同表现形式。如某个方法,传一个参数和传多个参数,得到的结果不一样

## 创建对象的四种方式 ##
    **  1.声明范式**
    // var obj = {}
    
    **2.工厂函数1**
    //    function stu(name,age){
    //       return {
    //         name: name,
    //         age : age,
    //         sayHello : function(){
    //           console.log('我是'+this.name+'今年'+this.age+'岁')
    //         }
    //       }
    //    }

    //  var stu1 =  stu('zhangsan',21)
    // stu1.sayHello()
    // 
    **3.工厂函数2**
     //    function stu(name,age){
     //      var obj = {};
     //      obj.name = name;
     //      obj.age = age,
     //      obj.sayHello = function(){
     //        console.log('我是'+this.name+'今年'+this.age+'岁')
     //      }
     //      return obj
     //    }
     // var stu1 = stu('lis',22);
     // stu1.sayHello()
     // 
     // 
    **4. 工厂函数3——构造函数,重点**
      // function Student(name,age){
      //   this.name = name;
      //   this.age = age;
      //   this.sayHello = function(){
      //      console.log('我是'+this.name+'今年'+this.age+'岁')
      //   }
      // }
      // var stu1 = new Student('wang5',1);
      // stu1.sayHello()

原文地址:https://www.cnblogs.com/luowen075/p/6135812.html