下面的代码显示了使用 toString()
进行少量数据类型转换的结果方法。
所有其他数据类型都可以使用 toString()
转换为字符串方法,但是当尝试使用 toString()
将对象转换为字符串时方法给出了奇怪的结果,它是“[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()
将对象转换为字符串方法为什么会给出奇怪的结果。
为什么不给出“[object Object]”而不是 toString()
方法返回此值“{ name: 'John' }”
最佳答案
在 Javascript 中,所有对象都继承自 Object。对于自定义对象,如果您没有定义 toString() 方法,它将从其父类继承它。因此 obj.toString() 打印“[object Object]”,因为它是 Object 类型的对象(原始类型)。
关于javascript - 使用 js toString() 方法转换对象会给出奇怪的结果吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27649368/