- 实例方法只能实例调用
- 内部方法只能被内部的方法调用
- 静态方法只能被类调用
- 原型方法只能被实例调用
函数类
function Foo(name){
this.name=name;
// 实例方法
this.GetName=function(){
console.log("my name is "+name);
GetId();
}
// 内部方法
var GetId = function(){
console.log("I have no id..");
}
}
// 类方法(静态方法)
Foo.SayHi=function(){
console.log("hi!");
}
// 原型方法
Foo.prototype.SayBye=function(){
console.log("bye!");
}
//测试案例
var xiaoMing = new Foo("xiaoming")
//实例方法只能实例调用,内部方法只能被内部的方法调用
xiaoMing.GetName()
//静态方法只能被类调用
Foo.SayHi()
//原型方法只能被实例调用
xiaoMing.SayBye()
class类
class Foo{
// 静态方法
static add(a,b){
console.log(a+b);
}
// 原型方法
subtract(a,b){
console.log(a - b);
}
// 实例方法
constructor(){
this.multiply = function(a, b){
console.log(a * b);
}
}
}
//原型方法
Foo.prototype.divide=function(a,b){
console.log(a/b);
}
var jisuan = new Foo()
Foo.add(4,2)
jisuan.subtract(4,2)
jisuan.multiply(4,2)
jisuan.divide(4,2)