zoukankan      html  css  js  c++  java
  • 函数的几种模式

     

    一、工厂模式

    在函数体内申明一个对象,并且返回

    function createPerson(name, age, job){
      var o = new Object();
      o.name = name;
      o.age = age;
      o.job = job;
      o.sayName = function(){
        alert(this.name);
      };
      return o;
    }
    var person1 = createPerson("Nicholas", 29, "Software Engineer");
    

      

    二、构造函数

    直接将属性和方法赋给了this 对象;

    构造函数始终都应该以一个大写字母开头,而非构造函数则应该以一个小写字母开头。

    function Person(name, age, job){
        this.name = name;
        this.age = age;
        this.job = job;
        this.sayName = function(){
            alert(this.name);
        };
    }
    var person1 = new Person("Nicholas", 29, "Software Engineer");    
    

      

    三、原型模式(原型对象可以让所有对象实例共享它所包含的属性和方法。)

    每个构造函数都有一个原型对象,原型对象都包含一个指向构造函数的指针,而实例都包含一个指向原型对象的内部指针。

        function Person(){
        }
    
        Person.prototype.name = "Nicholas";
        Person.prototype.age = 29;
        Person.prototype.job = "Software Engineer";
        Person.prototype.sayName = function(){
        alert(this.name);
        };
        var person1 = new Person();
        person1.sayName();

    或者

      

      function Person(){
      }
      Person.prototype = {
      name : "Nicholas",
      age : 29,
      job: "Software Engineer",
      sayName : function () {
      alert(this.name);
      }
    };

      四、构造+原型模式

    function Person(name, age, job){
        this.name = name;
        this.age = age;
        this.job = job;
        this.friends = ["Shelby", "Court"];
    }
    Person.prototype = {
        constructor : Person,
        sayName : function(){
        alert(this.name);
        }
    }
    

      

  • 相关阅读:
    C# Trick
    DotNet Resource
    人员角色权限
    Verticles for Web Application
    Node Addon
    EventBus
    怎么实现员工和工资大数据分析,echarts+js实现
    winform怎么实现财务上凭证录入和打印
    WPF实现大数据分析
    非常经典的面试题,方案很多,一起交流学习
  • 原文地址:https://www.cnblogs.com/yzg1/p/4832284.html
Copyright © 2011-2022 走看看