javascript - 关于constructor属性
ringa_lee
ringa_lee 2017-04-11 12:08:40
[JavaScript讨论组]

写个书上的例子

        function Person(name,age,job){
            this.name=name;
            this.age=age;
            this.job=job;
            this.friends=['tom','jim'];
        }

        Person.prototype={
            constructor:Person,
            //把上面这条代码删除,代码可以执行。然后我让它随便指向一个构造函数,它依然正常执行。它好像在这里似乎没什么卵用。
            //那么constructor属性,具体在哪种情况下体现的作用会比较明显。不设置它方法就不能运行。
            sayName:function(){
                alert(this.name);
            }
        }

        var person1 = new Person('Nicholas',29,"teacher");
        var person2 = new Person("Greg",27,'Doctor');

        person1.friends.push("van");
        alert(person1.friends)
        alert(person2.friends)
ringa_lee
ringa_lee

ringa_lee

全部回复(3)
黄舟

constructor 属性对 JS 来说没有什么用,有没有用处完全看你怎么使用,给个参考:https://segmentfault.com/q/10...

高洛峰

一般在使用 对象字面量方法,就像你写的这样,你不写的话,constructor 指向的是 Object

    Person.prototype={
            constructor:Person,
            //把上面这条代码删除,代码可以执行。然后我让它随便指向一个构造函数,它依然正常执行。它好            像在这里似乎没什么卵用。
            //那么constructor属性,具体在哪种情况下体现的作用会比较明显。不设置它方法就不能运行。
            sayName:function(){
                alert(this.name);
            }
        }

巴扎黑

当你在试图在原型对象内试图调用constructor的时候就必须要有constrctor属性了。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号