码迷,mamicode.com
首页 > 编程语言 > 详细

javascript设计模式与开发实践

时间:2016-09-26 14:45:36      阅读:128      评论:0      收藏:0      [点我收藏+]

标签:

1. js面向对象6种形式(详情)   

技术分享
<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
<script>
    // 1. 基于object的对象
    var person=new Object();
    person.name=my name;
    person.getName= function () {
        return this.name+ is aa;
    }
    console.log("person.getName: "+person.getName());
    //2.对象字面量方式
    var person2={
        name:person2,
        getName: function () {
            return this.name+ is bb;
        }
    }
    console.log("person2.getName: "+person2.getName());
    //3.工厂模式
    function createPerson3(name,age){
        var o=new Object();
        o.name=name;
        o.age=age;
        o.getName=function(){
            return this.name+ is cc;
        }
        return o;//使用return返回生成的对象实例
    }
    var person3=createPerson3(person3,12);
    console.log("person3.getName: "+person3.getName());
    // 4.构造函数模式
    function Person4(name,age){
        this.name=name;
        this.age=age;
        this.getName= function () {
            return this.name+" is dd";
        }
    }
    var person4=new Person4(person4,22);
    console.log("person4.getName: "+person4.getName());
    //5 原型模式
    function Person5(){

    }
    Person5.prototype.name=person5;
    Person5.prototype.age=22;
    Person5.prototype.getName= function () {
        return this.name+" is ee";
    }
    var person5=new Person5();
    console.log("person5.getName(): "+person5.getName());
    // 6 组合构造函数及原型模式
    function Person6(name,age){
        this.name=name;
        this.age=age;
    }
    Person6.prototype={
        construct:Person6,//原型字面量方式会将对象的constructor变为Object,此外强制指回Person
        getName: function () {
            return this.name+" is ff";
        }
    }
    var person6=new Person6(person6,22);
    console.log("person6.getName(): "+person6.getName());
</script>
</body>
</html>
View Code

 

javascript设计模式与开发实践

标签:

原文地址:http://www.cnblogs.com/gyz418/p/5909033.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!