javascript-数据类型

javascript数据类型的一些基本知识

    var message;
    //未声明 和未初始化返回值均为undefined
    console.log(typeof('text')); //string
    console.log(typeof(16.0)); //number
    console.log(typeof(message)); //undefined
    console.log(typeof(noment)); //undefined
    console.log(typeof(null)); //object

    console.log(Boolean(true)); //true
    console.log(Boolean(false)); //false
    console.log(Boolean('str')); //true
    console.log(Boolean('')); //空字符串为false

    console.log(Boolean(123)); //true
    console.log(Boolean(0)); //false
    console.log(Boolean(NaN)); //false

NaN,即非数值(Not a Number)是一个特殊的数值,这个数值用来表示
一个本来要返回数值的操作数未返回数值的情况(这样就不会抛出错误了)
isNaN() 方法在接受一个值后,会尝试将一个值转换为数值,假如不能返回数值则返回true,否则反之

    console.log(isNaN(123.1)); //false
    console.log(isNaN('12')); //false 12可以转换为数值
    console.log(isNaN('abc')); //true adc 不能转化为数值
console.log(Number('abc')); //NaN 纯字符不能转化为Num
    console.log(Number('')); //0 字符串为空 转化为0
    console.log(Number(123)); //123
    console.log(Number('123')); //123 数字字符串可以转化
    console.log(Number(false)); //0 布尔值 false转化为0

Number()函数在转换字符串是比较复杂而且不够合理,parseInt()更多的是看其是否符合数值模式,它会忽略前面的空格直到找到
第一个非空格的字符串,如果不是数字字符或者符号,返回NaN,否则会继续解析第二个字符,直到解析完成所有的后续字符

    console.log(Number('123b')); //NaN   Number方法中含字母字符不能转化为Num
    console.log(parseInt('123b')); //123
    console.log(parseInt('')); //NaN
    //parseFloat()和parseInt()类似,区别是第二个小数点和之后的字符都会忽略,并且会始终忽略前导的0
    console.log(parseFloat('12.56.78'));  //12.56
    console.log(parseFloat('056'));  //56

String方法和toString都可以将数值转化为字符串。
String()函数遵循下列规则:
如果值有toString()方法,则调用该方法,返回相应的结果
如果值为null,则返回"null"
如果值为undefined,则返回"undefined"

var num = 134;
    console.log(num.toString()); //
    console.log(String(num));

你可能感兴趣的:(javascript-数据类型)