这里所谓的静态方法,其实就是将方法直接定义在了 构造函数对象上,只有构造函数本身才能去使用它,任何其他都无法使用(包括它的 派生类)
一.js中的实例方法和静态方法
1.实例方法
定义在构造函数内的方法就是实例方法
function A(name){
this.name = name
this.eat = function(){
console.log(this.name + "吃龙虾")
}
}
var a = new A("逍遥的码农")
a.eat()
2.js中的静态方法
构造函数 = function 的是静态方法
function A(name){
this.name = name
this.eat = function(){
console.log(this.name + "吃龙虾")
}
}
A.say = function(){
console.log("我是静态方法")
}
A.say()
二.ts中的实例方法和静态方法
1.实例方法
ts中定义实例方法函数前不加static关键字
class A {
name: string;
constructor(name: string) {
this.name = name;
}
eat(){
console.log(this.name + "吃零食")
}
}
var a = new A("逍遥的码农")
a.eat()
2.静态方法
静态方法就是给函数前加上static关键字
class A{
name:string
constructor(name:string){
this.name = name
}
static eat(){
console.log("我是静态方法")
}
}
var a = new A("逍遥的码农")
a.eat() // 会提示属性“eat”在类型“A”上不存在。你的意思是改为访问静态成员“A.eat”吗?