zoukankan      html  css  js  c++  java
  • JavaScript对象的几种创建方式

    1.使用工厂模式创建对象

    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('Nike',29,'teacher');
    var person2 = createPerson('Arvin',20,'student');

    2.使用构造函数创建对象

    function Person(name,age,job){
     this.name = name;
     this.age = age;
     this.job = job;
     this.sayName = function(){
     alert(this.name);
     }; 
    }
    var person1 = new Person('Nike',29,'teacher');
    var person2 = new Person('Arvin',20,'student');

    3.原型模式创建对象

    function Person(){}
    Person.prototype.name = 'Nike';
    Person.prototype.age = 20;
    Person.prototype.jbo = 'teacher';
    Person.prototype.sayName = function(){
     alert(this.name);
    };
    var person1 = new Person();
    person1.sayName();

    4.混合构造和原型模式

    function Person(name,age,job){
     this.name =name;
     this.age = age;
     this.job = job;
    }
    Person.prototype = {
     constructor:Person,
     sayName: function(){
     alert(this.name);
     };
    }
    var person1 = new Person('Nike',20,'teacher');

    5.动态原型模式

    function Person(name,age,job){
        this.name=name;
        this.age=age;
        this.job=job;
    
        if(typeof this.sayName!="function"){
            Person.prototype.sayName=function(){
                alert(this.name);
            };
        }
    }
  • 相关阅读:
    Java加密作业
    作业
    思考动手
    方法作业
    课堂2数字输出
    字符型转整形
    课堂验证作业
    Eclipse @override报错解决
    用注解配置动态代理
    动态代理模式
  • 原文地址:https://www.cnblogs.com/Jessical8619/p/8527936.html
Copyright © 2011-2022 走看看