zoukankan      html  css  js  c++  java
  • js变量

    由于undefined和null两个值的比较是相等的,所以,未初始化的变量和赋值为null的变量会相等。这时,可以采用typeof变量的类型进行比较。但,建议还是养成编码的规范,不要忘记初始化变量。

    var box;

    var car = null;

    alert(typeof box == typeof car)

     

     

    以下是其他类型转换成Boolean类型规则

     

    数据类型

    转换为true的值

    转换为false的值

    Boolean

    true

    false

    String

    任何非空字符串

    空字符串

    Number

    任何非零数字值(包括无穷大)

    0和NaN

    Object

    任何对象

    null

    Undefined

     

    undefined

     

    ECMAScript提供了isNaN()函数,用来判断这个值到底是不是NaN。isNaN()函数在接收到一个值之后,会尝试将这个值转换为数值。

    alert(isNaN(NaN));                      //true

    alert(isNaN(25));                         //false,25是一个数值

    alert(isNaN('25'));                        //false,'25'是一个字符串数值,可以转成数值

    alert(isNaN('Lee'));                      //true,'Lee'不能转换为数值

    alert(isNaN(true));                       //false      true可以转成成1

     

     

    parseInt()除了能够识别十进制数值,也可以识别八进制和十六进制。

    alert(parseInt('0xA'));                   //10,十六进制

    alert(parseInt('070'));                   //56,八进制

    alert(parseInt('0xALee'));              //100,十六进制,Lee被自动过滤掉

     

    ECMAScript为parseInt()提供了第二个参数,用于解决各种进制的转换。

    alert(parseInt('0xAF'));                 //175,十六进制

    alert(parseInt('AF',16));                //175,第二参数指定十六进制,可以去掉0x前导

    alert(parseInt('AF'));                    //NaN,理所当然

    alert(parseInt('101010101',2));      //314,二进制转换

    alert(parseInt('70',8))                   //56,八进制转换

     

     

     

    toString()方法一般是不需要传参的,但在数值转成字符串的时候,可以传递进制参数。

    var box = 10;

    alert(box.toString());                          //10,默认输出

    alert(box.toString(2));                        //1010,二进制输出

    alert(box.toString(8));                        //12,八进制输出

    alert(box.toString(10));                       //10,十进制输出

    alert(box.toString(16));                       //a,十六进制输出

     

    Object()里可以任意传参,可以传数值、字符串、布尔值等。而且,还可以进行相应的计算。

    var box = new Object(2);                    //Object类型,值是2

    var age = box + 2;                              //可以和普通变量运算

    alert(age);                                          //输出结果,转型成Number类型了

     

    既然可以使用new Object()来表示一个对象,那么我们也可以使用这种new操作符来创建其他类型的对象。

    var box = new Number(5);                  //new String('Lee')、new Boolean(true)

    alert(typeof box);                               //Object类型

    parseFloat()是用于浮点数值转换的,和parseInt()一样,从第一位解析到非浮点数值位置。

    alert(parseFloat('123Lee'));           //123,去掉不是别的部分

    alert(parseFloat('0xA'));               //0,不认十六进制

    alert(parseFloat('123.4.5'));           //123.4,只认一个小数点

    alert(parseFloat('0123.400'));        //123.4,去掉前后导

    alert(parseFloat('1.234e7'));          //12340000,把科学技术法转成普通数值

  • 相关阅读:
    数据库 连接(join)
    Linux top
    Game2048
    黑豆白豆问题
    1000个苹果10箱
    Jconsole
    八数码 Java实现
    两数之和
    磁盘调度算法
    常见应用网络层次
  • 原文地址:https://www.cnblogs.com/mrcln/p/4213700.html
Copyright © 2011-2022 走看看