博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
创建对象方法
阅读量:4610 次
发布时间:2019-06-09

本文共 1670 字,大约阅读时间需要 5 分钟。

//1.工厂模式

    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;
    }
   var person1 = person('lj',22, '工人');
//2.构造函数模式
    function Person(name, age, job) {
        this.name = name;
        this.age = age;
        this.job = job;
        this.sayName = function () {
            alert(this.age)
        }
    }
    var person2 = new person('lj',22, '工人');
//3.原型模式
function Person() {
}
Person.prototype.name = 'lj';
Person.prototype.age = 22;
Person.prototype.job = '工人';
Person.prototype.sayName = function () {
    alert(this.name)
}
var person3  = new Person();
//3.1更简单的原型方法
function Person() {
}
Person.prototype = {
    name : 'lj',
    sge:22,
    job:'工人',
    sayName:function () {
        alert(this.name)
    }
}
var person3  = new Person();
//4.组合使用构造函数和原型模式(也是最常用的方法)
function PersonPrototype(name, age, job) {
    this.name = name;
    this.age = age;
    this.job = job;
}
    Person.prototype.sayName = function () {
        alert(this.name)
    }
var person4 = new Person('lj',22, '工人');
//5.动态原型模式
    function person() {
        //属性
        this.name = name;
        this.age = age;
        this.job = job;
        //方法
        if(typeof this.sayName != "function"){
            Person.prototype.sayName = function () {
                alert(this.name)
            }
        }
    }
var person5 = new Person('lj', 22, '工人')
    //6.寄生构造函数模式
    function Person(name, sge, job) {
        var o = new Object();
        o.name = name;
        o.age = age;
        o.job = job;
        o.sayName = function () {
            alert(this.name)
        }
        return o ;
    }
var person6 = new Person('lj', 22, '工人');
//7.稳妥构造函数
    function person (name, age, job) {
        //创建要返回的对象
        var o = new  Object();
        //可以在这里定义私有变量和函数
        //添加方法
        o.sayname = function () {
            alert(name)
        }
        return o ;
    }
var person7 = new Person('lj', 22, '工人');

转载于:https://www.cnblogs.com/liujian9527/p/6094334.html

你可能感兴趣的文章
T2695 桶哥的问题——送桶 题解
查看>>
HTML5 表单
查看>>
Android群英传》读书笔记 (3) 第六章 Android绘图机制与处理技巧 + 第七章 Android动画机制与使用技巧...
查看>>
关于微信公众平台测试号配置失败的问题
查看>>
【NOIP2001】统计单词个数
查看>>
linux常用端口
查看>>
异常处理
查看>>
/proc/uptime详解
查看>>
如何建立合适的索引?
查看>>
acwing 651. 逛画展
查看>>
(待完成)qbxt2019.05 总结12 - 趣味题目 鹰蛋
查看>>
[2018/11/18] Java数据结构(2) 简单排序 冒泡排序 选择排序 插入排序
查看>>
关于WPF程序只运行一个实例的方法
查看>>
局域网内访问机器时出现“未授予在次计算机上的请求登陆类型”
查看>>
Bogart BogartAutoCode.vb
查看>>
JavaScript面试题
查看>>
[转帖]架构师眼中的高并发架构
查看>>
ios的一些开源资源
查看>>
HTTP 错误 500.21 - Internal Server Error 解决方案
查看>>
Bucks sign Sanders to $44 million extension
查看>>