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

    //对象创建模式
    //方式一:Object构造函数模式
    
    var p=new Object();
     p.name='Tom';
     p.age=12;
     p.setName=function (name){
         this.name=name;
     }
     p.setName('Jack');
     console.log(p.name,p.age);
    
    
    
    //方式二:对象字面量
    var p={
        name:'Tom',
        age:12,
        setName:function (name){
            this.name=name;
        }
    };
    
    console.log(p.name,p.age);
    
    
    
    //方式三:工厂模式:通过工厂函数动态创建对象并返回。(缺点:不能确定对象的具体类型)
    
       function createPerson(name,age){
               var obj={
                   name:name,
                   age:age,
                   setName:function(){
                       this.name=name;
                   }
    
               };
               return obj;
       }
    
    
       var p1=createPerson('zain',12);
       var p2=createPerson('Bob',13);
    
    
    //方式四:自定义构造函数模式(当创建多个对象有相同数据,浪费内存,可以把共有的东西放在原型里。看方式5)
       function Person(name,age){
           this.name=name;
           this.age=age;
           this.setName=function (name){
                  this.name=name;
           }
       }
    
       var p1=new Person('Tom',12);
    
       function Student(name,price){
              this.name=name;
              this.price=price;
    
       }
    
       var s1=new Student("Bob",12000);
    
    
       //方式5:构造函数+原型的组合模式
    
       function Person(name,age){
             this.name=name;
             this.age=age;
       }
    
        Person.prototype.setName=function (name){
              this.name=name;
        }
       var p1=new Person('Tom',12);
       var p2=new Person('Jack',13);
        console.log(p1,p2);
    sometimes the hardest part isn't letting go,but rather start over
  • 相关阅读:
    动态调整iframe的高度
    Binary Tree Zigzag Level Order Traversal
    Leetcode Anagrams
    二叉树层次遍历串成单链表
    leetcode 4sum
    leetcode 二叉树系列
    编程之美2.3
    Decode Ways
    leetcode graycode
    leetcode editdistance
  • 原文地址:https://www.cnblogs.com/zhumeiming/p/9672178.html
Copyright © 2011-2022 走看看