定义对象的方法
定义对象的方法
1. 定义对象有两种方式:1.使用字面量方式直接定义 2.使用构造函数创建对象
方式一:
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head><body><script>// 使用字面量方式直接定义对象let zhangsan = {// 定义对象的属性name:'张三',age:20,gender:'男',// 定义对象的方法eat:function(){// 如何在方法里面,使用当前对象自己的成员(对象的成员:包括属性和方法)。// 通过this.当前成员console.log(`大家好!我叫${this.name},我在吃饭`);},sing:function(){console.log(`大家好!我叫${this.name},我在唱歌`);},sayHi:function(){console.log(`大家好!我叫${this.name},今年${this.age}岁,性别是${this.gender}`);}}console.log(zhangsan);// 通过对象名.属性的方式,可以操作对象的属性zhangsan.name = '张杰' //修改属性console.log('姓名:'+zhangsan.name); //获取属性// 通过对象名.方法()的方式,执行对象的方法zhangsan.eat()zhangsan.sing()zhangsan.sayHi()</script>
</body></html>
方式二:
<!DOCTYPE html>
<html>
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>使用构造函数创建对象</title>
</head>
<body><script>// 构造函数,也是一个函数,通常情况下该函数的首字母要大写// 在该函数的内部,使用this关键字定义构造函数的成员// 构造函数也称之为:类,类就是类型function Student(name,age,gender){// 构造函数也是函数,所以,也能传递参数// 定义属性this.name = namethis.age = agethis.gender = gender// 定义方法this.sayHi = function(){console.log(`大家好!我叫${this.name},今年${this.age}岁,性别是${this.gender}`);}}// 类只需要定义一次,但是可以根据该类创建出无数个对象let s1 = new Student('张三',20,'男')let s2 = new Student('李四',18,'女')let s3 = new Student('王五',22,'男')console.log(s1);console.log(s2);console.log(s3);s1.sayHi()s2.sayHi()s3.sayHi()// 总结:如果只需要一个对象,可以采用字面量方式直接定义// 如果需要无数个相同格式的对象,最好的做法是先定义构造函数,然后通过该构造函数创建对象。</script>
</body>
</html>