js公有、私有、静态属性和方法

/*
            静态方法/属性:无需实例化就可以使用,不能通过this调用,只能通过对象本身,即对象名User,实例无法调用
            公有方法/属性:需要实例化才能用,静态方法无法调用
         */

         function User(){
            this.name="happy";//公有属性
            this.getname=function(){//公有方法
               return this.name;
            }

            var age;//私有属性
            function setAge(){//私有方法
               age=1;
            }

            this.getAge=function(){//特权方法
               return age;
            }

         }
         User.prototype.setName=function(){//共有方法
            this.name="happy everyday";
         }
         User.grade="初中";//静态属性
         User.grade=function(){//静态方法
            alert(User.grade);
         }

         var o={//静态类对象
            a:1,
            b:function(){

            }
         };
原文地址:https://www.cnblogs.com/haitangxun/p/5081920.html