静态方法的调用规则

静态方法的调用规则

使用静态方法时,无需实例化对象,便可以调用,对象实例不能调用对象的静态方法,只能调用实例自身的静态属性和方法

function User(){}

User.age = 26;//静态属性

User.myname = 'fire子海';

User.getName =function(){//静态方法

    return this.myname;

}

var user = new User();

console.log(user.getName);//TypeError: user.getName is not a function

user.supper = '方便面';

user.eat = function(){

  return '晚餐只有'+this.supper;

}

user.eat();//晚餐只有方便面

静态方法无法调用公有属性、公有方法、私有方法、私有属性、特权方法和原型属性

function User(){

       this.myname = 'fire子海';//公有属性

       this.age = 26;

       this.do = function(){//特权方法

            return this.myname+'学习js';

        }

}

User.prototype.alertAge = function(){//公共方法,也叫原型方法

    alert(this.age);

}

User.prototype.sex = '男';//原型属性

User.getName= function(){//静态方法

    return this.myname;

}

User.getAge = function(){

     this.alertAge();

}

User.getDo = function(){

    return this.do();

}

//console.log(User.getName())//undefined

//console.log(User.getDo());//TypeError: this.do is not a function

//console.log(User.getAge())//TypeError: this.alertAge is not a function

连接地址http://jingyan.baidu.com/article/d5c4b52bc2f71dda570dc575.html

坚持下去就能成功
原文地址:https://www.cnblogs.com/suoking/p/4947152.html