通过修改创建类的原型对象的toString方法,而不是,修改由该类创建的对象的原型对象的方法,修改toString方法,其实就是修改原型对象中的toString属性所创建的函数
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script>
// 创建构造函数
function Person(name, age, gender){
this.name = name;
this.age = age;
this.gender = gender;
}
var per1 = new Person("孙悟空", 18, "男");
// console.log(per1);
Person.prototype.toString = function(){
return "Person[name =" + this.name + ",age = " + this.age + ",gender = " + this.gender +"]";
};
console.log(per1);
var result = per1.toString();
console.log(result);
var per2 = new Person("猪八戒", 28, "男");
console.log(per2);
var result2 = per2.toString();
console.log(result2);
</script>
</head>
<body>
</body>
</html>
重点注意下面情况中的差别