【发布时间】:2015-08-27 10:31:21
【问题描述】:
正如标题所说,以下两种使用toString()的方式返回不同的结果,我想知道为什么,因为我认为这里的'this'在这两个中是相同的,都是对象arr。
var arr = [1,2,3]
toString.call(arr) //"[object Array]"
arr.toString() //"1,2,3"
【问题讨论】:
标签: javascript tostring
正如标题所说,以下两种使用toString()的方式返回不同的结果,我想知道为什么,因为我认为这里的'this'在这两个中是相同的,都是对象arr。
var arr = [1,2,3]
toString.call(arr) //"[object Array]"
arr.toString() //"1,2,3"
【问题讨论】:
标签: javascript tostring
toString 作为“函数”实际上是window.toString,意思是Object.prototype.toString。另一方面,arr.toString 是Array.prototype.toString。这两种方法都专门用于产生适合其类型的不同输出。
【讨论】: