js中存在内部类型转换,在进行此类运算时先调用对象的valueOf,如果得到的不是基本的值类型,再调用对象的toString。
按以上原则,
1 + {} = "1[object Object]"
{} + 1 = "[object Object]1"
然而实际结果是
{} + 1 = 1
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
因为在console里{}被认为是一个
code block,而不是Object。