很多人误以为toJSON()返回的是JSON字符串化后的值,其实不然,除非我们确实想要对字符串进行字符串化(通常不会!)。toJSON()返回的应该是一个适当的值,可以是任何类型,然后再由JSON.stringify(..)对其进行字符串化。也就是说,toJSON()应该“返回一个能够被字符串化的安全的JSON值”,而不是“返回一个JSON字符串”。