js对象详解

function Person(name)
{
    _name=name;
    function Show()
    {
         alert(this._name++);
    }
    return Show;
}
var x=Person(1);
x();

var myNameSpace = {}; //构造一个命名 空间myClass

  //类的属性
  myNameSpace.names="cnscn";
  myNameSpace.age="30";

  myNameSpace.ClassPersons=function(argName,argAge){ //构造类名,即构造函数
     this.names=argName;
     this.age=argAge;
  }

  myNameSpace.ClassPersons.prototype={//类方法的定义
     //方法getName()
     getName:function(){
       alert(this.names);
     }, //注意这里是"逗号"
     //方法setName(argName)
     setName:function(argName){
        this.names=argName;
     }
  }

  var obj=new myNameSpace.ClassPersons("yao", 23);
  obj.getName();
  obj.setName("hhhh");
  obj.getName();
  alert(myNameSpace.age);
  alert(obj.age);

var r=function Person(name){
      //类变量
//      this.name = name;
      var x=0;
      this.age  = 0;


      this.gender = 0;

      this.pets = new Array();
      return x;
   }

   //类setName(name)的函数
   Person.prototype.setName=function(name){
      this.name=name;
   }

   //类getName(name)的函数
   Person.prototype.getName=function(){
      return this.name;
   }

   //类pushPetsArr(item)的函数
   Person.prototype.pushPetsArr=function(item){
      this.pets[this.pets.length] = item;
   }
var p=new Person();
p.setName("zs");
alert(p.getName());
//用户操作对象  
var User = {  
    //检查用户名
    i:0,
    checkusername : function(username){  
        alert(username);  
    },  
    //检查pw  
    checkpwd : function(){  
        alert('pwd');  
    }     
    };  
//调用方法  
User.checkusername('study');
//类似java的写法  
function Register(options){  
    this.defaults = {  
        r:'hello',  
        show:'false',  
        city:'beijing' 
    };  
    //jquer中的方法 可以方便的判断参数 ,没有的就可以用for in循环来判断了        
    this.options=jQuery.extend(this.defaults,options || {});  
}  
Register.prototype={  
    //检查真实姓名  
    checkRealName : function(name) {  
        alert(this.defaults.r+name);  
        },  
    checkUrl : function() {  
        alert('wefji@163.com');  
        },  
    //检查性别  
    checkMeal : function() {  
        alert('you are a:'+this.defaults.r+"and come from:"+this.defaults.city);  
        }     
}  
//调用方法  
var Blb = new Register({r:'ceshi',city:'henan'});//参数的形式{key1:'value1',key2:'key2'}  
Blb.checkRealName('nihao');  
Blb.chckUrl()  
var myObject={
     propertyA: 'sha' ,
     propertyB: 'feng' ,
     methodA:function(){
      alert(this.propertyA+this.propertyB);
     },
     methodB:function(msg){this.propertyA=msg}
    }
    var myObject=new Object();
    myObject.propertyA='sha';
    myObject.propertyB='feng';
    myObject.methodA=function(){ alert(this.propertyA+this.propertyB)};
    myObject.methodB=function(msg){this.propertyA=msg}
    myObject.methodA();
    myObject.methodB('shiwolaosun');
    myObject.methodA();

posted @ 2012-06-27 15:35  yxf2011  阅读(271)  评论(0编辑  收藏  举报