定义对象的方法

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 = name
            this.age = age
            this.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>

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值