Skip to content

[js] 第123天 分析('b' + 'a' + +'a' + 'a').toLowerCase()返回的结果 #1075

Open
@haizhilin2013

Description

@haizhilin2013
Collaborator

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

Activity

ghost

ghost commented on Aug 17, 2019

@ghost

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

LinStan

LinStan commented on Aug 17, 2019

@LinStan

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

Konata9

Konata9 commented on Aug 19, 2019

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

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

xiaoqiangz

xiaoqiangz commented on Jul 8, 2022

@xiaoqiangz

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

正解,主要是 + + 'a'会先将'a'转成数字这时候'a' 变成了 NaN => baNaNa.toLowerCase() => bababa

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    jsJavaScript

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @haizhilin2013@Konata9@xiaoqiangz@LinStan

        Issue actions

          [js] 第123天 分析`('b' + 'a' + +'a' + 'a').toLowerCase()`返回的结果 · Issue #1075 · haizlin/fe-interview