Fe-interview: [js] 第123天 分析`('b' + 'a' + +'a' + 'a').toLowerCase()`返回的结果

Created on 16 Aug 2019  ·  3Comments  ·  Source: haizlin/fe-interview

第123天 分析('b' + 'a' + +'a' + 'a').toLowerCase()返回的结果

js

Most helpful comment

’b‘ + =>'b'
'b' + 'a' => 'ba'
'ba' + (+'a') => 'ba' + (Number('a')) => 'baNaN'
'baNaN' + 'a' =>'baNaNa'
'baNaNa' .toLowerCase() =>'banana'

All 3 comments

那个多出来的 + 是一元操作符,操作数是后面那个 'a',它被转成了 number NaN
因此加出来是 'baNaNa',toLowerCase 一下就变成 banana 了

’b‘ + =>'b'
'b' + 'a' => 'ba'
'ba' + (+'a') => 'ba' + (Number('a')) => 'baNaN'
'baNaN' + 'a' =>'baNaNa'
'baNaNa' .toLowerCase() =>'banana'

  • 'b'+'a' 为字符串拼接 => ba
  • + +'a' 第一个 + 为字符串拼接的 +, +'a' 是把 'a' 转为数字 => 由于 'a' 无法转为数字,因此为 NaN
  • +'a' 为字符串拼接

因此结果为 'baNaNa'.toLowerCase() => banana

Was this page helpful?
0 / 5 - 0 ratings