一个很有趣的答案!!!!
发布于 8 年前 作者 Jonny0601 4531 次浏览 来自 问答

谁知道为什么(""+{}).length = 15 ? 求大神解答啊

13 回复

“[object Object]”

这种问题 直接F12一下不就知道了

111.png

本质是看这个式子的结果是什么,"" + {} 这里{}在跟字符串相加的时候会做类型转换,本身没法做转换,于是去原型链找,于是 Object.prototype.toString()得到"[object Object]" 然后"" + "[object Object]"等于"[object Object]" "[object Object]".length=15

@wolyshaw 都太nb😁

@zhangjh nb😁 对js理解很深入啊

大家都好🐂

你甚至可以自己改了toString实现

又是这种瓜皮问题

回到顶部