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;
        }
  • 相关阅读:
    JAVA设计模式---总述篇
    Java中对象创建时的内存分配
    for循环打印空心菱形的新方法
    springcloud2.X通过actuator加载配置无效问题
    golang-错误处理
    golang-字符串
    golang-方法和接口
    golang-结构体与指针
    golang-数组、切片、映射
    golang-流程控制
  • 原文地址:https://www.cnblogs.com/ongoing/p/3078797.html
Copyright © 2011-2022 走看看