关于Number、parseInt、isNaN转化参数

1.首先,关于NaN的相等判断

alert(NaN==NaN)
//返回的是false;

2.isNaN 确定这个参数是否是数值或者是否可以被转化为数值;NaN是not a number 的缩写,所以如果能转化为数值,则是false,不能被转化为数值,返回的是true;

 alert(NaN);
 //返回NaN
 alert(isNaN(NaN))
 //返回true;
 alert(isNaN(10));
 // 返回false;
 alert(isNaN("10"));
 // 返回false;
 alert(isNaN("blue"));
 // 返回true;
 alert(isNaN(true));
 // 返回false;
 alert(isNaN(false));
//返回false

3.Number()

  ①.布尔值    true和false会转化为1和0;

  ②.数字     简单的传入传出;

  ③.null      返回0;

  ④.undefined   返回NaN;

  ⑤.字符串则需要遵循以下规则;

    ㈠. 如果字符串中只包括数字(包括前面带正负号的情况),则将其转换未十进制数,即“1”=>1,“123”=>123,"011"=>11(前导零忽略)。

    ㈡.如果字符串中包含浮点格式,如“1.1”则将其转换未对应的浮点数值。

    ㈢.如果字符串中包含有效的浮点格式,例如:“0xf”,则将其转化为大小相同的十进制数值。

    ㈣.如果支付转是空的(不包含任何字符),则将其转换为0.

    ㈤.如果字符串中包括上述格式之外的字符,将其转化为NaN;

     alert(Number("kdf1233"));
      //返回NaN
    var num2 = Number(true)
    alert(num2)
    //返回1

 

4.ParseInt()

    var num1=parseInt("1234blue");//1234
    var num2=parseInt("");//NaN
    var num3=parseInt("oxA");//10(十六进制)
    var num4=parseInt(22.5);//22
    var num5=parseInt("070");//56(八进制)
    var num6=parseInt(70);//70(十进制)
    var num7=parseInt("0xf")//15(十六进制)

 

posted @ 2017-09-29 11:12  莫笑我胡为  阅读(901)  评论(0编辑  收藏  举报