Cra*_*rks 2 javascript language-lawyer
我最近惊慌地发现以下内容:
> {}+[]
0
> ({}+[])
"[object Object]"
> {}+[]+1
1
> ({}+[])+1
'[object Object]1'
> {}+[] == ({}+[])
false
Run Code Online (Sandbox Code Playgroud)
为什么在括号中包装内容会改变其类型?
{} + []是一个空块,后跟一个带有一元运算+符的数组,基本上+[]是0,
({} + [])是一个文字对象加上一个文字数组,两者都被转换成字符串,一个对象"[object Object]"的字符串值加上一个空数组的字符串值,这是""你看到的结果.
| 归档时间: |
|
| 查看次数: |
106 次 |
| 最近记录: |