原生JS(es5)中的静态方法


//
原生JS中的静态方法 function Person(name, age) { this.name = name; this.age = age; this.run = function () { console.log(`${this.name} is ${this.age}岁`) } } Person.prototype.sex = '男' Person.prototype.work = function () { console.log(`${this.name} is ${this.sex} and ${this.age}岁`) } //静态方法 Person.fun = function () { console.log("fun 静态方法") } var p = new Person('jack', 20) //实例方法是通过实例化来调用的 p.run() p.work() Person.fun() //静态方法调用,直接通过类名调用 /** * jack is 20岁 jack is 男 and 20岁 fun 静态方法 */
ES6 中的静态方法:

//es6里面的静态方法
class Person {
    constructor(name) {
        this._name = name;  //属性
    }
    run() {  //实例方法
        console.log("实例方法",this._name);
    }
    static work() {   //静态方法
        console.log('work 静态方法');
    }
}
 
Person.value = '这是一个静态方法的属性';
 
var p = new Person('jack');
p.run();
Person.work();   //es6里面的静态方法执行
 
console.log(Person.value);
 
/**
 * 实例方法 jack
   work 静态方法
   这是一个静态方法的属性
 */

 

posted on 2022-01-30 13:33  weakup  阅读(34)  评论(0编辑  收藏  举报