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>
结果如下图:
证明使用的是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>
结果如下图: