zoukankan      html  css  js  c++  java
  • js定义类的三种方法

    function Cat(){
    
      this.name = "大毛";
    
    }                                              //构造函数
    
    var cat1 = new Cat();              //实例化
    
    Cat.prototype.eat = function(){}   //添加方法                

    2.Object.create()法

    “类”就是一个对象,不是函数

    var Cat = {
    
      name: "大毛",
    
      makeSound :function(){alert('喵喵喵')}
    
    };
    var cat1 = Object.create(Cat);
    
    alert(cat1.name);
    cat1.makeSound();

    3.极简主义法

    var Cat = {
    
      createNew : function(){
    
         var cat = {};
         cat.name ="大毛";
                cat.makeSound = function(){alert("喵喵喵");};
    
         return cat;
           } 
    
    }
    
    
    var cat1 = Cat.createNew();
    
    cat1.makeSound();

    代码简洁优雅,符合面向对象编程

    这种方式的继承如下

    var Animal = {
    
      createNew : function(){
    
        var animal = {};
        animal.sleep = function(){
    
          alert("");
        };
        return animal;
      }
    
    }
    
    var Cat = {
         createNew :function(){
                var cat = Animal.createNew();
                cat.name = "大毛";
                return cat;
        }      
    }        
    
    var cat1 = Cat.createNew();
    //这样得到的cat实例,就会同时继承Cat类和animal类        
    var Cat = {
      var sound = "喵喵喵";  //需要共享的变量
      createNew: function(){
            var cat = Animal.createNew();
            cat.name = "大黄";                            //私有变量
            cat.makeSound = function(){alert(“喵喵喵”)} ;
            cat.changeSound = function(x){this.sound = x;}    
      
    }
    
    var  cat1 = Cat.createNew();
    cat1.changeSound("啦啦啦");
    cat1.makeSound();
  • 相关阅读:
    如何根据二叉树 前序遍历 中序遍历 后序遍历 中的两种遍历来反推另一种遍历
    dijkstral改编
    纪念做出来的第一道计算几何题
    链式前向星
    一道简单树形dp
    算法进阶指南—特殊排序
    算法进阶指南二分章节的两道题
    秦皇岛winter camp 总结
    C
    一道cf水题
  • 原文地址:https://www.cnblogs.com/100bluesea/p/3490971.html
Copyright © 2011-2022 走看看