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;
        }
  • 相关阅读:
    区分DPI、分辨率(PPI)、图像的物理大小、像素宽度
    生成缩略图方法
    C#中调用Windows API的要点 .
    改变变量触发事件
    窗体异步示例
    Scroll滚动后发生的改变
    绘制不同颜色的文本图片
    字符串绘图片
    c#生成缩略图
    衔接UI线程和管理后台工作线程的类(多线程、异步调用)
  • 原文地址:https://www.cnblogs.com/ongoing/p/3078797.html
Copyright © 2011-2022 走看看