• 创建对象(上)


     
    // var box=new Object(); //1:创建函数的基本方法
    // box.name="feige";
    // box.run=function(){
    // alert(this.name+"runnig.....")
    // }
    //    
    //    box.run();
    //    //缺点就是如果要创建一个类似的对象要产生大量代码
    
     
    
    //2工厂模式**************************************************************************************************************
    
    //    
    //    function createObj(name,age){ //共产模式创造对象
    //    var obj=new Object();
    //    obj.name=name;
    //    obj.age=age;
    //    obj.run=function(){
    //    alert(this.name+this.age+"running......");
    //    }
    //    
    //    return obj; //返回对象引用
    //    
    //    }
    //    function createObj2(name,age){ //共产模式创造对象
    //    var obj=new Object();
    //    obj.name=name;
    //    obj.age=age;
    //    obj.run=function(){
    //    alert(this.name+this.age+"running......");
    //    }
    //    
    //    return obj; //返回对象引用
    //    
    //    }
    //    var box1=createObj('feige',22);//创建第一个对象
    //    var box2=createObj('cc',22); //创建第二个对象
    //    box1.run();
    //    box2.run();
    // var box3=createObj2('kkk',2); 
    // 
    //    //PS:工厂模式虽然解决了重复实例化的问题,但是无法搞清楚他们到底哪个是对象的实例,例如下面的
    //    alert(box1 instanceof Object);//true 
    //    alert(box3 instanceof Object);//still true 
    // 
    
    //3构造方法创造对象**************************************************************************************************************
    function Box(name,age){ //构造方法创造对象(改良后的工厂方法)
    this.name=name;
    this.age=age;
    this.run=function(){
    alert(this.name+this.age);
    }
    }
    
    function Box2(name,age){ //构造方法创造对象
    this.name=name;
    this.age=age;
    this.run=function(){
    alert(this.name+this.age);
    }
    }
    
    
    var box1=new Box('CC',13); //实例化
    var box2=new Box2('cc',21); //实例化
    
    //alert(box1 instanceof Box);
    //alert(box2 instanceof Box);//与工厂模式不同可以区分出来实例,box2是Box2的对象的引用
    
    //1.构造函数没有new Object但是后台会自动 var obj=new Object();
    //2.this就相当于 obj
    //3.构造函数不需要返回对象引用,他是后台自动返回的
    
    //规范
    
    //1.构造函数也是函数,但是函数名第一个字母大写
    //2.必须new 构造函数(),new Box()
    //3.必须使用new 运算符
    var o=new Object();//对象冒充,可以把整个构造函数拿下来给o
    Box.call(o,"冒充",12)
    o.run();
    
    }
    
     
  • 相关阅读:
    Apache ECharts
    navicate10破解版 in win
    mysql5.7.23免安装配置说明in win7
    ubuntu安装intellij IDEA ultimate破解
    java1015 leetcode1 twosum approach2 Map-doc generic PESC type argument/(? extends | super %bounded) parameterized type
    笔试题学习(dp,重叠子问题,卡特兰数,手电过桥,最长公共子序列)
    selfish mining:block‐withholding attacks
    矿工找到block的概率分布函数和函数图像
    proof of reserves and proof of liabilities and fractional reserve
    soft fork and hard fork
  • 原文地址:https://www.cnblogs.com/zhangxiaofei/p/6711221.html
Copyright © 2020-2023  润新知