【JavaScript】26_旧类

举报
魔天伦 发表于 2023/02/26 21:02:20 2023/02/26
【摘要】 14、旧类早期JS中,直接通过函数来定义类一个函数如果直接调用 xxx() 那么这个函数就是一个普通函数一个函数如果通过new调用 new xxx() 那么这个函数就是一个够早函数​ 等价于:​ class Person{​ } <script> var Person = (function () { ...

14、旧类

早期JS中,直接通过函数来定义类

  • 一个函数如果直接调用 xxx() 那么这个函数就是一个普通函数

  • 一个函数如果通过new调用 new xxx() 那么这个函数就是一个够早函数

  • ​ 等价于:

    ​ class Person{

    ​ }

    <script>
        var Person = (function () {
            function Person (name,age){
                //在构造函数中,this表示新建的对象
                this.name = name
                this.age = age

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

            //向原型中添加属性(方法)
            Person.prototype.sayHello = function(){
                console.log(this.name)
            }

            //静态方法
            Person.staticProperty = 'xxx'
            //静态方法
            Person.staticMethod = function(){}

            return Person
        })()

        const p = new Person('孙悟空',18)
        console.log(p)

        var Animal = (function(){
            function Animal(){

            }
            return Animal
        })()

        var Cat = (function(){
            function Cat(){

            }

            //继承Animal
            Cat.prototype = new Animal()

            return Cat
        })()

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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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