【JavaScript高级程序设计】9、创建对象(1)

1、工厂模式

<!doctype html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <meta name="Generator" content="EditPlus®">
  <meta name="Author" content="">
  <meta name="Keywords" content="">
  <meta name="Description" content="">
  <title>Document</title>

    <script type="text/javascript">
        
        //工厂模式
        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;
        }

        var person1 = createPerson("Nicholas", 29, "software Engineer");
        var person2 = createPerson("Greg", 27, "Doctor");

        person1.sayName();

    </script>

 </head>
 <body>
  
 </body>
</html>

显示结果:

 

2、原型模式

<!doctype html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <meta name="Generator" content="EditPlus®">
  <meta name="Author" content="">
  <meta name="Keywords" content="">
  <meta name="Description" content="">
  <title>Document</title>

    <script type="text/javascript">
        
        function Person(){}

        Person.prototype.name = "Nicholas";
        Person.prototype.age = 29;
        Person.prototype.job = "Software Engineer";
        Person.prototype.sayName = function()
                                   {
                                       alert(this.name);
                                   };
                                   
        var person1 = new Person();
        person1.sayName();    //输出姓名:Nicholas
        var person2 = new Person();
        person2.sayName();    //输出姓名:Nicholas
        alert(person1.sayName == person2.sayName); //true    

    </script>

 </head>
 <body>
  
 </body>
</html>
    

结果:

 

posted @ 2016-07-08 10:17  cutter_point  阅读(121)  评论(0)    收藏  举报