【JavaScript】19_面向对象中的方法和构造函数

时间:2023-02-20 20:03:03

4、方法

<script>
class Person{

name = "孙悟空"
// sayHello = function(){
// } // 添加方法的一种方式

sayHello(){
console.log('大家好,我是' + this.name)
} // 添加方法(实例方法) 实例方法中this就是当前实例

static test(){
console.log("我是静态方法", this)
} // 静态方法(类方法) 通过类来调用 静态方法中this指向的是当前类
}

const p1 = new Person()
// console.log(p1)
Person.test()
p1.sayHello()
</script>

5、构造函数

在类中可以添加一个特殊的方法constructor

该方法我们称为构造函数(构造方法)

构造函数会在我们调用类创建对象时执行

可以在构造函数中,为实例属性进行赋值

在构造函数中,this表示当前所创建的对象

<script>

//原来的方法
// class Person{
// name="孙悟空" // 当我们在类中直接指定实例属性的值时,
// // 意味着我们创建的所有对象的属性都是这个值
// age=18
// gender="男"

// sayHello(){
// console.log(this.name)
// }
// }


// 创建一个Person的实例
// const p1 = new Person("孙悟空", 18, "男")
// const p2 = new Person("猪八戒", 28, "男")
// const p3 = new Person("沙和尚", 38, "男")

// console.log(p1)
// console.log(p2)
// console.log(p3)
//==========================================

class Person {
constructor(name,age,gender){
this.name = name
this.age = age
this.gender = gender
}
}

const p1 = new Person('孙悟空',14,'男')
const p2 = new Person('猪八戒',45,'男')
const p3 = new Person('沙和尚',76,'男')

console.log(p1)
console.log(p2)
console.log(p3)
</script>