使用 js toString() 方法转换对象会给出奇怪的结果? [英] objects convert using js toString() method gives Odd result?

查看:69
本文介绍了使用 js toString() 方法转换对象会给出奇怪的结果?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

下面的代码显示了使用 toString() 方法对数据类型进行了几次转换的结果.所有其他数据类型都可以使用 toString() 方法转换为字符串,但是当尝试使用 toString() 方法将对象转换为字符串时,它给出了奇怪的结果,它是[object Object]"

code in the below shown results of few conversions of data types using toString() method. all other data types can convert to strings using toString() method but when try to convert object to string using toString() method it gives odd result it is "[object Object]"

var b =1
b.toString();// produce "1"


var x=function(){var y=1;};
x.toString();// produce "function (){var y=1;}"


var z = [1,2];
z.toString();// produce "1,2"

var a = new Date;
//a = Date {Thu Dec 25 2014 22:44:32 GMT+0530 (Sri Lanka Standard Time)}
a.toString();// produce "Thu Dec 25 2014 22:44:32 GMT+0530 (Sri Lanka Standard Time)"



var obj = { name: 'John' }
obj.toString();// produce "[object Object]"

我想知道当我们尝试使用 toString() 方法将对象转换为字符串时,为什么它会给出奇怪的结果.

i wanna know when we try to convert object to string using toString() method why it gives a odd result .

而不是给出[object Object]"为什么 toString() 方法不会返回这个值{ name: 'John' }"

instead of giving "[object Object]" why wont toString() method returns this value "{ name: 'John' }"

推荐答案

在 Javascript 中,所有对象都继承自 Object.对于自定义对象,如果您没有定义 toString() 方法,它将从其父类继承它.因此 obj.toString() 打印[object Object]",因为它是 Object 类型的对象(原始类型).

In Javascript all objects inherit from Object. For a custom object if you don't define the toString() method it will inherit it from its parent class. So obj.toString() prints "[object Object]" because it is an object (a primitive type) of type Object.

这篇关于使用 js toString() 方法转换对象会给出奇怪的结果?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆