js基础_38、往原型对象中添加自己的toString方法

当我们直接在一个页面里打印一个对象时,实际上是输出对象的toString()方法的放回值。(自带的浏览器)

<script>
            //创建一个构造函数
            function Person(name,age,gender){
                this.name=name;
                this.age=age;
                this.gender=gender;
            }
            var per=new Person('孙悟空',18,'男'); 
            console.log(per);
</script>

结果如下图:
image
证明使用的是toString()方法

<script>
            //创建一个构造函数
            function Person(name,age,gender){
                this.name=name;
                this.age=age;
                this.gender=gender;
            }
            var per=new Person('孙悟空',18,'男'); 
            console.log(per.toString());
</script>

其结果和上图一样。

添加自己写的toString方法,可以使输出对象时不输出[object Object],

<script>
            //创建一个构造函数
            function Person(name,age,gender){
                this.name=name;
                this.age=age;
                this.gender=gender;
            }
            //给构造函数原型添加自己写的toString方法
            Person.prototype.toString=function (){
                   return 'Person{name='+this.name+',age='+this.age+",gender="+this.gender+'}';
            }
            var per=new Person('孙悟空',18,'男');
            console.log(per.toString());
</script>

结果如下图:
image

posted @ 2022-03-12 09:47  青仙  阅读(214)  评论(0编辑  收藏  举报