<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>类和对象</title>
</head>
<body>
<!-- <script type="text/javascript">
//类 (一类事物)
//使用class关键字 定义类,实例化得到对象
class A{
//构造方法
constructor(){
//在构造方法中定义属性
this.age = 30;
}
//实例方法
say(){
console.log('我是A中实例方法say');
}
}
var obj = new A();
//实例化类,会自动执行构造方法,并得到实例对象
console.log(obj);
console.log(obj.age);
obj.say();
</script> -->
<!-- <script type="text/javascript">
//类 (一类事物)
//使用class关键字 定义类,实例化得到对象
class A{
//构造方法
constructor(){
//在构造方法中定义属性
this.age = 30;
}
//实例方法
say(){
console.log('我是A中实例方法say');
console.log('我是A中实例方法say'+ this.age);
}
//静态方法 :不需要实例化对象,可以使用类名.方法() 调用
static coding(){
console.log('我是A中静态方法coding');
// console.log('我是A中静态方法coding' + this.age);
// console.log(this); // this指向的是类A
}
}
//静态方法调用,由于没有实例化过程,构造方法中的代码不会自动执行。
A.coding();
//调用实例方法
var obj = new A();
obj.say();
</script> -->
<script type="text/javascript">
//类 (一类事物)
//使用class关键字 定义类,实例化得到对象
class A{
//构造方法
constructor(){
//在构造方法中定义属性
this.age = 30;
}
//实例方法
say(){
console.log('我是A中实例方法say');
// console.log('我是A中实例方法say'+ this.age);
}
//静态方法 :不需要实例化对象,可以使用类名.方法() 调用
static coding(){
console.log('我是A中静态方法coding');
// console.log('我是A中静态方法coding' + this.age);
// console.log(this); // this指向的是类A
}
//说明:静态方法和实例方法 名称可以相同,不会互相影响
//调用时,各有各的写法
static say(){
console.log('我是A中静态方法say');
}
}
//静态方法调用,由于没有实例化过程,构造方法中的代码不会自动执行。
A.coding();
A.say();
//调用实例方法
var obj = new A();
obj.say();
</script>
</body>
</html>