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

举报
魔天伦 发表于 2023/02/23 13:07:33 2023/02/23
【摘要】 4、方法 <script> class Person{ name = "孙悟空" // sayHello = function(){ // } // 添加方法的一种方式 sayHello(){ console.log('大家好,我是' + thi...

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>
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。