静态方法
function ClassA(){ //定义构造函数
};
ClassA.func = function(){ //在构造函数上添加一个属性(因为函数也是对象)
console.log("This is a static method");
}
实例方法
// 1.定义在构造函数原型上的方法是实例方法
function ClassA(){ //定义构造函数
};
ClassA.prototype.func = function(){ //在构造函数的原型上添加方法
console.log("This is an instance method.");
}
ClassA.prototype.func(); //构造函数需要通过prototype才能调用原型方法
function Cat(name){
let move = function() { //实例方法,只有对象才能访问,构造函数访问不了
console.log('移动')
}
}
## 总结
简而言之,实例方法就是只有实例可以调用,静态方法只有构造函数可以调用,原型方法是实例和构造函数都可以调用( 构造函数需要通过prototype才能调用原型方法:ClassA.prototype.func() ),是共享的方法。像Promise.all和Promise.race这些就是静态方法,Promise.prototype.then这些就是原型方法,new 出来的实例可以调用。