JavaScript学习记录(二)

07-14

  • 数据类型指字面量的类型

    基本数据类型

    • String

    字符串需要使用引号引起来(双引号或单引号都可以)

    var str = "hello";
    

    引号不能嵌套,\可以作为转义字符

    str = "我说:\"你怎么了\"";
    
    • Number

    JS中的所有数值都是Number类型,不特别区分整数和浮点数

    var num = 123
    num = 98.0
    console.log(num) //输出结果为98.0,不需要为98.0重新声明Number变量
    

    typeof运算符可以检测变量类型

    var a = 123;
    var b = "123";
    console.log(typeof a);
    console.log(typeof b);
    /*输出结果为
    number
    string
    **/
    

    JS中可以表示的数字的最大值

    console.log(Number.MAX_VALUE);
    //输出为1.7976931348623157e+308
    

    如果数据超过了Number的最大值会返回无穷

    var max = Number.MAX_VALUE * Number.MAX_VALUE;
    console.log(max)
    //输出结果为Infinity
    

    NaN(Not a Number)表示非数字,但是其数据类型为Number

    JS中整数运算基本可以保证精确,浮点数运算可能会有误差

    var num1 = 123 + 123;
    var num2 = 0.1 + 0.2;
    console.log(num1);
    console.log(num2);
    //输出结果为 246   0.30000000000000004
    
    • Boolean

    Boolean的值只有true和false用于进行逻辑判断

    • Null

    Null的是数值只有null,用来表示一个空的对象

    使用typeof检查Null变量时,返回object

    var a = null;
    console.log(typeof a);
    //返回结果为object
    
    • Undefined

    声明变量不进行赋值,该变量类型为Undefined

    var b;
    console.log(b);
    console.log(typeof b);
    //返回结果为undefined undefined
    

    引用数据类型

    • Object
  • 强制类型转换

    主要指将其他类型转换为String Number Boolean

    将其他数据类型转换为String

    方法一:调用被转换类型的toString()方法,但是此方法并不影响到原变量

    var a = 123;
    console.log(a);
    console.log(typeof a);
    var b = a.toString();
    console.log(b)
    console.log(typeof b);
    //null和undefined没有toString方法
    

    方法二:调用String()函数

    var c = 123;
    c = String(c);
    c = null;
    c = String(c);
    c = undefined;
    c = String(c);
    //使用String()函数进行数据类型转换时,对于Number和Boolean实际上就是家用了toString()方法
    //对于null和undefined不用调用toString()方法,而是直接转换为字符串
    

    将其他类型数据转换为Number

    方法一:使用Number()函数

    var a = "123";
    a = Number(a);
    //String-->Number
    //1.如果是纯数字的字符串,直接转换为数字
    //2.如果字符串中有非数字内容,则转换成NaN
    //3.如果字符串为空或者为空白串,转换为0
    //Boolean-->Number
    //false-->0  true-->1
    //Null-->Number == 0
    //Undefined-->Number == NaN
    

    方法二:适用于字符串

    parseInt()和parseFloat()将一个字符串转换为整数或浮点数

    var a = "123px";
    var result;
    result = Number(a);
    console.log(result);
    result = parseInt(a);
    console.log(result);
    //输出结果为NaN  123
    

    如果对非String使用方法二会将变量先转换成String,再进行转换

            var c = true;
            result = Number(c);
            console.log(result);    //输出结果为1
            result = parseInt(c);
            console.log(result);    //输出结果为NaN
    

    转换为Boolean

    使用Boolean()函数

    var a = 123;   //true
    a = -123;      //true
    a = Infinity;    //true
    a = NaN;    //false
    //数字-->Boolean
    //除了0和NaN,都是true
    //字符串-->Boolean
    //除了空串,其他都是true
    //null和undefined --> false
    //对象也会转换为true
    
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容