Evan2z
2012-09-17 21:40
浏览 361

JS中加法运算符操作单个运算数结果为啥会是这样?

比如+[]返回的是0,类型一直是number,我一开始以为左边的操作符是0,但是后来测试+{}返回的结果居然是NaN,不是想象中的0[object Object],这是为啥?求指导

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • jinnianshilongnian 2012-09-18 07:01
    已采纳

    +× +表示正数 -× 表示取反

    +[] 估计取数组的长度进行运算(即自动转换为兼容的类型) 如1-"1"
    +{} 对象和数字之间无关转换,所有不兼容的操作都会返回NaN 即非数字 如1-"abc"

    已采纳该答案
    打赏 评论
  • SleepInDelphi 2012-11-21 17:08
    打赏 评论
  • 米花z 2016-11-23 11:39

    :wink:

    打赏 评论
  • 米花z 2016-11-23 11:40

    :o :lol:

    打赏 评论

相关推荐 更多相似问题