不废话直接上代码(打卡:2020-12-25 )
函数组件
function Person(name,age){
this.name = name
this.age = age
}
// sex属性直接挂载给构造函数,是静态属性
Person.sex='男'
Person.prototype.say = function(){
console.log('这是person的实例方法')
}
Person.show = function(){
console.log('这是person的静态方法')
}
//使用
const p1 = new Person('张三',18)
//实例方法调用
p1.say()
//静态方法调用
Person.show();
属性使用
Person.name Person.age
class组件
class aaa extends React.Component{
construtor(name,age){
super(name,age)
//实例属性
this.name:name,
this.age:age
}
}
//在class内部,通过static修饰的属性,就是静态属性
static sex = '男'
//实例方法
say(){
console.log('这是aaa的实例方法')
}
//静态方法
static show(){
console.log('这是aaa的静态方法')
}
}
const a1 = new aaa('张三',18);
console.log(a1);
//实例方法调用
a1.say();
//实例属性使用
a1.name a1.age
//静态方法调用
aaa.show()
//静态属性使用
aaa.sex
笔记:
静态属性:通过构造函数直接访问到的属性,
实例属性:通过new出来的实例,访问到的属性。
静态方法:只能访问静态属性静态方法
实例方法:静态/实例属性 静态/实例方法都可以访问
静态方法:可以”对象名.方法名” 调用,也可以”类名.方法名” 所以可以无需创建对象
实例方法:只能”对象名.方法名” 调用