在 JavaScript 中,Object.toString 方法用来返回一个表示该 对象 的 字符串。
obj.toString();
参数 | 描述 |
---|---|
obj | 要转换的对象。 |
一个表示该对象的字符串。
每个对象都有一个 toString() 方法,当该对象被表示为一个文本值时,或者一个对象以预期的字符串方式引用时自动调用。
默认情况下,toString() 方法被每个 Object 对象 继承。如果此方法在自定义对象中未被覆盖,toString() 返回 “[object type]”,其中 type 是对象的类型。
可以自定义一个方法,来取代默认的 toString() 方法。该 toString() 方法不能传入 参数,并且必须返回一个字符串。自定义的 toString() 方法可以是任何我们需要的值,但如果它附带有关对象的信息,它将变得非常有用。
使用 Object.toString 输出对象字符串
<!DOCTYPE html>
<html>
<head>
<title>JavaScript Object.toString输出对象字符串</title>
<script type="text/javascript">
console.log("嗨客网(www.haicoder.net)");
function createPerson(name, age, sex){
var person = new Object();
person.name = name;
person.age = age;
person.sex = sex;
person.sayHi = function(){
console.log("I am", this.name, "i am", this.age, "years old", "and my sex is", this.sex);
}
return person;
}
var person = createPerson("HaiCoder", 109, "F");
console.log("Person toString =", person.toString());
</script>
</head>
</html>
程序运行后,控制台输出如下:
我们直接调用对象的 toString 方法,可以输出一个对象的字符串形式。
我们可以重写 Object.toString 方法,输出对象信息
<!DOCTYPE html>
<html>
<head>
<title>JavaScript 重写 Object.toString 方法</title>
<script type="text/javascript">
console.log("嗨客网(www.haicoder.net)");
function createPerson(name, age, sex){
var person = new Object();
person.name = name;
person.age = age;
person.sex = sex;
person.toString = function(){
return "Person toString, I am " + this.name + " i am " + this.age + " years old " + " and my sex is " + this.sex;
}
return person;
}
var person = createPerson("HaiCoder", 109, "F");
console.log(person.toString());
</script>
</head>
</html>
程序运行后,控制台输出如下:
我们使用 createPerson 方法,创建了了一个对象,同时,我们重写了该对象的 toString 方法,其中 toString 方法不接受任何参数,但是返回一个字符串类型的数据。
最后,我们使用 person 对象调用其 toString 方法,并打印。
在 JavaScript 中,Object.toString 方法用来返回一个表示该对象的字符串。