zoukankan      html  css  js  c++  java
  • several way to create object in javascript

     //factory model:
        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;
        }
    
        //constructor model:
        function Person(name, age, job) {
            this.name = name;
            this.age = age;
            this.job = job;
            this.sayName = function () { alert(this.name); };
        }
    
        //prototype model
        function Person() { }
        Person.prototype.name = "roy";
        Person.prototype.age = 29;
        Person.prototype.job = "software engineer";
        Person.prototype.sayName = function () { alert(this.name); };
    
        //mix constructor model and prototype model
        function Person(name, age, job) {
            this.name = name;
            this.age = age;
            this.job = job;
            this.friends = ["roy","angel"];
        }
        Person.prototype = {
            constructor: Person,
            sayName: function () { alert(this.name); }
        }
    
        //dynamically prototype model
        function Person(name, age, job) {
            //properties
            this.name = name;
            this.age = age;
            this.job = job;
    
            //methods
            if (typeof this.sayName != "function") {
                Person.prototype.sayName = function () { alert(this.name); };
            }
        }
    
        //parasitic constructor model
        function Person(name, age, job) {
            var o = new Object();
            o.name = name;
            o.age = age;
            o.job = job;
            o.sayName = function () { alert(this.name); };
            return o;
        }
    
        //durable object
        function Person(name, age, job) {
            //create return object
            var o = new Object();
    
            //define private variable and method
            var xx;
            var yy;
    
            //add method
            o.sayName = function () { alert(name); };
    
            //return object
            return o;
        }
  • 相关阅读:
    排序
    wine-qq 安装
    逆元模板
    最长上升子序列
    SGU[115] Calendar
    SGU[123] The sum
    SGU[105] Div 3
    SGU[102] Coprimes
    SGU[100] A+B
    poj-1325-Machine Schedule
  • 原文地址:https://www.cnblogs.com/ongoing/p/3078797.html
Copyright © 2011-2022 走看看