码迷,mamicode.com
首页 > 其他好文 > 详细

1.21 null、undefined运算时进行的隐式转换

时间:2021-01-22 11:47:13      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:其它   ons   nan   函数   一个   操作符   val   自身   log   

  • 当进行-(减)、*(乘)、/(除)、取余(%)操作时,如果有不是数值的操作数,则先在后台使用Number()函数将其转换为数值。
    (特殊:Number([x])=x; 而Number({})、Number([x,y],...)为NaN)
<script>
    console.log(‘Number(null):‘, Number(null));
    //Number(null): 0
    console.log(‘Number(undefined):‘, Number(undefined));
    //Number(undefined): NaN
  • 当进行+(加)操作时,如果任一操作数是对象、数值、布尔值则调用它们自身的toString()方法;
    对于undefined和null则调用String()函数,将其转换为‘undefined‘和‘null‘
    console.log(‘String(null):‘, String(null), typeof String(null));
    //String(null): null string
    console.log(‘String(undefined):‘, String(undefined), typeof String(undefined));
    //String(undefined): undefined string
  </script>
  • 当进行==操作符时,遇到undefined和null不会转换类型。对于其它类型可能经历(valueOf、toString、Number方法最后比较数值;如果两个数是对象则比较是否是同一个对象)

1.21 null、undefined运算时进行的隐式转换

标签:其它   ons   nan   函数   一个   操作符   val   自身   log   

原文地址:https://www.cnblogs.com/xjt31/p/14307415.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!