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

    function createPerson(name, qq)        //工厂方式
    {
            //在工厂里创建个对象
        var obj=new Object();    
    
        obj.name=name;
        obj.qq=qq;    
        obj.showName=function ()
        {
            alert('我的名字叫:'+this.name);
        };
        obj.showQQ=function ()
        {
            alert('我的QQ号:'+this.qq);
        };
            //返回对象    
        return obj;
    }
    
    var obj=createPerson('infoo', '333333');
    var obj2=createPerson('infoo', '222222');
    
    alert(obj.showName==obj2.showName);//两者不等,资源浪费
    function CreatePerson(name, qq)        //构造函数,常用的
    {
        this.name=name;
        this.qq=qq;
    }
    
    CreatePerson.prototype.showName=function ()    //原型
    {
        alert('我的名字叫:'+this.name);
    };
    
    CreatePerson.prototype.showQQ=function ()
    {
        alert('我的QQ号:'+this.qq);
    };
    
    var obj=new CreatePerson('infoo', '123');
    var obj2=new CreatePerson('infoo', '123');
    
    alert(obj.showName==obj2.showName);//相等
    var json={
        name: 'infoo',
        qq: '123',
        
        showName: function ()
        {
            alert('我的名字叫:'+this.name);
        },
        showQQ: function ()
        {
            alert('我的QQ号是:'+this.qq);
        }
    };
    
    json.showName();
    json.showQQ();
  • 相关阅读:
    HackerRank
    HackerRank
    LeetCode "Kth Smallest Element in a BST"
    HackerRank
    HackerRank
    LeetCode "Roman to Integer"
    LeetCode "Integer to Roman"
    LeetCode "Majority Element II"
    HackerRank
    HackerRank
  • 原文地址:https://www.cnblogs.com/infoo/p/8289937.html
Copyright © 2011-2022 走看看