0%

19 tostring()

  • 当我们直接在页面中打印一个对象,实际上是输出对象的toString()方法的返回值
1
2
3
4
5
function Person(name,age,gender){
this.name = name;
this.age = age;
this.gender = gender;
}
1
2
3
4
//修改原型的toString
Person.prototype.toString = function(){
return "person[name]="+this.name+",age = "+this.age+",gender = "+gender;
}
1
2
3
4
5
6
7
var per = new Person("孙悟空",18,"男");
//修改对象的toString
per.toString = function(){
return "我是个快乐的小Person";
}

console.log(per); //输出[object object] console.log(per);相当于输出了per.toString()

等同于

1
2
3
4
5
var result = per.toString();
console.log(result); //输出[object object]

console.log(per.__proto__.__proto__.hasOwnProperty("toString")); //输出true toString存在于原型的原型中
console.log(per); //输出 我是个快乐的小Person
-------------本文结束感谢您的阅读-------------