var Person=function(a,b){
this.name=a;
this.age=b;
this.sex="男";
var msg="类中的私有变量";
var lev=function(){
        alert("私有方法输出");
            }
this.set2=function(c,d){
            this.name=c;
            this.age=d;
            };
this.get2=function(){
            return this.name+"  "+this.age+"  "+msg;
            }
this.get3=function(){
            lev();
            }
}
Person.msg="驻守类";//附着于构造函数本身的特殊变量,并不会改变构造函数原定义的值。要么直接访问,要么通过18行方式访问。
//alert(typeof Person.sex);//输出undified,只有在实例中才能访问属性,因为实例化实质是复制了一份
var lbj=new Person("张三",32);//所谓实例化,就是另外开辟了一块内存空间
//lbj.lev();//私有方法没有被实例化
//alert(lbj.constructor.msg);//实例加上
//alert(lbj.sex);
//alert(typeof lbj.msg);//实例化过程中,私有变量并未复制
//alert(lbj.get2());
//lbj.set2("李四",36);
alert(lbj.get2());
lbj.get3();
//此例涉及到六个概念:公有属性,私有属性,私有方法,公有方法(无),静态变量,静态方法。
//