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));
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 强制转换 强制转换主要指使用Number、String和Boolean三个构造函数,手动将各种类型的值,转换成数字...
    灯火阑珊Zone阅读 3,321评论 0 3
  • 一、JavaScript 定义了几种数据类型? 哪些是原始类型?哪些是复杂类型? 最新的 ECMAScript 标...
    zh_yang阅读 2,849评论 0 0
  • 1. JavaScript 定义了几种数据类型? 哪些是原始类型?哪些是复杂类型?原始类型和复杂类型的区别是什么?...
    _达斯基阅读 1,527评论 0 0
  • 柳絮倩影朝闻夕,谧夜旧园始无题。 寒高霜红花三月,泪藏寂寞守空林。
    海里有我的名字阅读 1,469评论 0 0