为什么js中{}+{}的长度为30,但是{}的长度没有?
{}
是一个对象, 对象没有length方法。{}+{}
是一个字符串。, 字符串有length方法。{}+{}
变为[object Object][object Object]
的原理是js是弱类型, 隐性转换了数据类型。
10 回答11.2k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
在js里+号这个运算符用于字符串相连接 比如
或数值相加
如果数值和字符串相加,会将数值隐式转换为字符串类型
对于两个数组相加,会将数组隐式转换为type类型
a = {} + {} 的结果为
a为字符串,字符串长度为30,因此a.length = 30